JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。
JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。
安装
1、下载相对应的jar包:standard.jar和jstl.jar文件拷贝到/WEB-INF/lib/下
2、使用对应的标签库时,需要在JSP文件头部包含
核心标签
核心标签是最常用的JSTL标签。引用核心标签库的语法如下:
<%@ taglib prefix=”c” uri=”http://java.sun.com/jsp/jstl/core“ %>
out标签
用于在jsp中显示数据,就像<%= %>一样使用,当然out标签可以直接通过”.”操作符来访问属性。
参数介绍:
<c:out value="${'<tag> , &'}"/>
<c:out value="${customer.address.street }"
set标签
用于保存数据,它会计算表达式的值,然后使用计算结果来设置 JavaBean 对象或 java.util.Map 对象的值。
参数介绍:
<c:set var="salary" scope="session" value="${2000*2 }"/>
<c:out value="${salary }"/>
remove标签
用于移除一个变量,可以指定这个变量的作用域,若未指定,则默认为变量第一次出现的作用域。
参数介绍:
<c:set var="salary" scope="session" value="${2000*2}"/>
<p><c:out value="${salary}"/></p>
<c:remove var="salary"/>
<p><c:out value="${salary}"/></p>
catch标签
用来处理产生错误的异常状况,并且将错误信息储存起来
参数介绍:
<c:catch var ="catchException">
<% int x = 5/0;%>
</c:catch>
<c:if test = "${catchException != null}">
<p>The exception is : ${catchException} <br />
There is an exception: ${catchException.message}</p>
</c:if>
if标签
与我们在一般程序中用的if一样,如果表达式的值为真则执行其主体内容。
参数介绍:
<c:set var="salary" scope="session" value="${2000*2}"/>
<c:if test="${salary > 2000}">
<p>My salary is: <c:out value="${salary}"/><p>
</c:if>
choose标签
本身只当做
c:when参数介绍:
<c:set var="salary" scope="session" value="${2000*2}"/>
<p>Your salary is : <c:out value="${salary}"/></p>
<c:choose>
<c:when test="${salary <= 0}">
Salary is very low to survive.
</c:when>
<c:when test="${salary > 1000}">
Salary is very good.
</c:when>
<c:otherwise>
No comment sir...
</c:otherwise>
</c:choose>
import标签
提供了所有
检索一个绝对或相对 URL,然后将其内容暴露给页面
参数介绍:
<c:import var="data" url="http://www.w3cschool.cc"/>
<c:out value="${data}"/>
forEach标签
基础迭代标签,接受多种集合类型
参数介绍:
<c:forEach var="i" begin="1" end="20" step="2" varStatus="mystatus">
Item <c:out value="${i}"/>-${mystatus.index }<p>
</c:forEach>
<c:forEach var="s" items="${requestScope.arr }" varStatus="mystatus">
${mystatus.index } : ${s }<br>
</c:forEach>
forTokens标签
根据指定的分隔符来分隔内容并迭代输出
参数介绍:
参数类似forEach标签,但是比forEach标签多一个参数
delims 分隔符
<c:forTokens items="Zara,nuha,roshy" delims="," var="name">
<c:out value="${name}"/><p>
</c:forTokens>
redirect标签
重定向至一个新的URL
<c:redirect url="http://kuku940.github.io"/>
url标签
使用可选的查询参数来创造一个URL
一般会和
参数介绍:
url参数
param参数
<c:url value="/index.jsp" var="myURL">
<c:param name="trackingId" value="1234"/>
<c:param name="reportType" value="summary"/>
</c:url>
<c:import url="${myURL}"/>
当然还有一些字符串处理fn函数和格式化fmt标签,以及xml标签和sql标签