JSP 标准标签库(JSTL)

欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot

导入依赖standard.jar 和 jstl.jar

<dependency>
    <groupId>javax.servlet.jsp.jstl</groupId>
    <artifactId>jstl-api</artifactId>
    <version>1.2</version>
</dependency>

<dependency>
    <groupId>org.apache.taglibs</groupId>
    <artifactId>taglibs-standard-impl</artifactId>
    <version>1.2.5</version>
</dependency>

引用核心标签库

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

c:out 标签

<c:out>标签用来显示一个表达式的结果,与<%= %>作用相似
它们的区别就是<c:out>标签可以直接通过"."操作符来访问属性:<c:out value="customer.address.street">

<c:out value="string" default="string" escapeXml="true|false"/>

value	要输出的内容
default	输出的默认值
escapeXml	是否忽略XML特殊字符,默认true

c:set 标签

<c:set>标签就是<jsp:setProperty>行为标签的孪生兄弟,如果指定了target属性,那么property属性也需要被指定。

value	要存储的值
target	要修改的属性所属的对象
property	要修改的属性
var	存储信息的变量
scope	var属性的作用域,默认Page

<c:set var="salary" scope="session" value="${2000*2}"/>
<c:out value="${salary}"/>

c:remove 标签

用于移除一个变量,可以指定这个变量的作用域,若未指定,则默认为变量第一次出现的作用域。
var	要移除的变量名称
scope	变量所属的作用域,默认所有作用域

<c:set var="salary" scope="session" value="${2000*2}"/>
<c:remove var="salary"/>

c:catch 标签

来处理产生错误的异常状况,并且将错误信息储存起来。

<c:catch var ="catchException">
   <% int x = 5/0;%>
</c:catch>

<c:if test = "${catchException != null}">
   <p>异常为 : ${catchException} <br />
   发生了异常: ${catchException.message}</p>
</c:if>

以上实例运行结果:
异常为 : java.lang.ArithmeticException: / by zero 
发生了异常: / by zero

c:if 标签

<c:if>标签判断表达式的值,如果表达式的值为 true 则执行其主体内容。

test	条件
var	用于存储条件结果的变量
scope	var属性的作用域,默认page

<c:set var="salary" scope="session" value="${2000*2}"/>
<c:if test="${salary > 2000}">
   <p>我的工资为: <c:out value="${salary}"/><p>
</c:if>

c:choose, c:when, c:otherwise 标签

<c:choose>

    <c:when test="<boolean>">
        ...
    </c:when>

    <c:when test="<boolean>">
        ...
    </c:when>
    ...
    ...
    <c:otherwise>
        ...
    </c:otherwise>
</c:choose>

c:forEach, c:forTokens 标签

封装了Java中的for,while,do-while循环

<c:forEach>标签是更加通用的标签,因为它迭代一个集合中的对象。

<c:forTokens>标签通过指定分隔符将字符串分隔为一个数组然后迭代它们。

属性            	描述        是否必要        默认值
items	    要被循环的信息        否        无
begin	    开始的元素(0=第一个元素,1=第二个元素)        否        0
end              最后一个元素(0=第一个元素,1=第二个元素)        否         Last element
step             每一次迭代的步长        否         1
var               代表当前条目的变量名称        否	        无
varStatus	    代表循环状态的变量名称        否        无
delims	    分隔符        是        无        //<c:forTokens>专属

<c:forEach>实例演示
<c:forEach var="i" begin="1" end="5">
   Item <c:out value="${i}"/><p>
</c:forEach>

<c:forTokens>演示实例
<c:forTokens items="google,runoob,taobao" delims="," var="name">
   <c:out value="${name}"/><p>
</c:forTokens>

c:redirect 标签

<c:redirect>标签通过自动重写URL来将浏览器重定向至一个新的URL
<c:redirect url="url"/>    //浏览器打开页面将跳转
url	        目标URL
context	紧接着一个本地网络应用程序的名称,默认当前应用程序
posted @ 2019-08-13 16:38  LittleDonkey  阅读(237)  评论(0编辑  收藏  举报