欢迎光临我的博客[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 紧接着一个本地网络应用程序的名称,默认当前应用程序