1.什么是JSTL
JSTL(JavaServerPages Standard Tag Library)JSP标准标签库
2.JSTL的作用
使用JSTL实现JSP页面中逻辑处理。如判断、循环等。
3.使用JSTL
(1) 在JSP页面添加taglib指令.
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
(2) 使用JSTL标签.
<c:if test=""></c:if>
4.常用标签介绍
核心标签库:
(1) 通用标签 : set ,out ,remove
设置变量 : <c:set var="num" value="${10+5}" scope="page"></c:set><br>
输出数据 : <c:out value="${num}"></c:out><br/>
移除变更 : <c:remove var="num"/><br>
移除后输出 :<c:out value="${num}" default="aaa"></c:out>
(2) 条件标签 : if ,choose
<c:set var="num" value="5"></c:set>
<c:if test="${num >3}">
结果为: true
</c:if>
<c:set var="num" value="30"></c:set>
<c:choose>
<c:when test="${num==1}">
第一名
</c:when>
<c:when test="${num==2}">
第二名
</c:when>
<c:when test="${num==3}">
第三名
</c:when>
<c:otherwise>
没名次
</c:otherwise>
</c:choose>
(3) 迭代标签 : foreach
- 普通循环
<!--
var --- 声明变量
begin --- 初始化
end --- 结束条件
step --- 步长
-->
<c:forEach var="i" begin="2" end="10" step="2">
<hr/>${i}
</c:forEach>
- 迭代器
- for(类型 变量名 : 数组或集合)
<%
//遍历: list set map和数组
List list = new ArrayList();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
list.add("eee");
pageContext.setAttribute("list",list);
%>
<table border="1">
<tr>
<th>数据</th>
<th>索引</th>
<th>计数</th>
<th>第一个</th>
<th>最后一个</th>
</tr>
<!--
c:forEach中的varStatus属性。
指向一个字符串,该字符串引用一个对象。 map.put("vs",一个对象);
这个对象记录着当前遍历的元素的一些信息:
getIndex():返回索引。从0开始
getCount():返回计数。从1开始
isLast():是否是最后一个元素
isFirst():是否是第一个元素
-->
<c:forEach items="${list}" var="num" varStatus="vs">
<tr class="${vs.index%2==0?'odd':'even'}">
<td>${num}</td>
<td>${vs.index}</td>
<td>${vs.count}</td>
<td>${vs.first}</td>
<td>${vs.last}</td>
</tr>
</c:forEach>
</table>
<style type="text/css">
.odd{
background-color:#c3f3c3;
}
.even{
background-color:#f3c3f3;
}
</style>