什么是JSTL
jsp标准标签库(JavaServerPages Standard Tag Library)
JSTL通常会与EL表达式合作实现jsp页面的编码
JSTL环境搭建
使用JSTL的步骤
在工程中引用JSTL的jar包
在jsp页面添加taglib指令
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
使用JSTL标签
JSTL标准标签库介绍
|
核心标签库
| | |
通用标签 条件标签 迭代标签
| | |
set if forEach
out choose
remove
通用标签
set:设置指定范围内的变量值
将value值存储到范围为scope的变量variable中
<c: set var="variable" variable> value="v" scope="scope"/>
将value值设置到对象的属性中
<c: set value="value" target="target" property="property"/>
<%
User user = new User();
request.setAttribute("user", user);
%>
<c: set target="${user}" property="name" value="defaultName"/>
out:计算表达式并将结果输出显示
不指定默认值
<c: out value="value"/>
指定默认值
<c: out value="value" default="default"/>
remove:删除指定范围内的变量
<body>
<!--设置之前应该是空值-->
设置变量之前的值是:msg=<c: out value="${msg}" default="null"/>
<!--给变量msg设值-->
<c: set var="msg" value="Hello!" scope="page"></c:set>
<!--此时msg的值应该是上面设置的"已经不是空值了"-->
设置新值以后:msg=<c: out value="${msg}"></c:out><br/>
<!--把msg变量从page范围内移除-->
<c: remove var="msg" scope="page"/>
<!--此时msg的值应该显示null-->
移除变量msg后:msg=<c: out value="${msg}" default="null">
</c: out>
</body>
条件标签
if:实现Java语言中的if语句的功能
判断条件表达式返回true/false
| 该变量用于保存返回的true/false
| | 指定var变量的作用域
| | |
<c: if test="codition" var="name" scope="applicationArea">
...
</c: if>
choose:实现java语言中if-else if=else语句的功能
<c: choose var="varName" scope="scope">
<c: when test="condition">
内容
</c: when>
<c:otherwise>
内容
<c:otherwise>
<c: choose>
迭代标签
forEach:实现对集合中对象的遍历,指定迭代的次数
items指定要遍历的集合对象
| var指定当前成员的引用
| | begin指定从集合的第几位开始
| | | end指定迭代到集合的第几位结束
| | | | step指定循环的步长
| | | | | varStatus属性用于存放var引用的 成员的相关信息,如索引等
| | | | | |
<c: forEach items="collection" var="name" begin="start" end="end" step="count" varStatus="status">
循环体代码
</c:forEach>