JSTL概述
使用JSTL实现JSP页面中逻辑处理。如判断、循环等。
1.使用JSTL:
1)需要导入第三方包 jstl库
2)加入taglib指令
<%@taglib …….>
2.核心标签库
2.1:通用标签>set、out、remove
<body>
核心标签库:
设置变量:<c:set var="num" value="${10+5}" scope="request"></c:set>
输出变量:<c:out value="${num}"></c:out>
移除变量:<c:remove var="num" scope="request"></c:remove>
移除后输出:<c:out value="${num}"></c:out>
</body>
2.2if choose(类似switch)
<c:set var="number" value="${3}"></c:set>
<c:if test="${5>3}">
aaaa
</c:if>
<c:choose>
<c:when test="${number==1}">
a
</c:when>
<c:when test="${number==2}">
b
</c:when>
<c:when test="${number==3}">
c
</c:when>
<c:otherwise>
d
</c:otherwise>
</c:choose>
迭代标签foreach
普通循环
<c:forEach var="i" begin="2" end="10" step="2">
${i}//2 4 6 8 10
</c:forEach>
迭代器(遍历list set map 和数组)
c:forEach中的varStatus属性。
指向一个字符串,该字符串引用一个对象。 map.put(“vs”,一个对象);
这个对象记录着当前遍历的元素的一些信息:
getIndex():返回索引。从0开始
getCount():返回计数。从1开始
isLast():是否是最后一个元素
isFirst():是否是第一个元素
var是一个变量名,items是从作用域里取值,要加${}
代码案例:
<%
List list = new ArrayList();
list.add("111");
list.add("222");
list.add("333");
list.add("444");
request.setAttribute("list",list);
%>
<table border="1">
<tr>
<td>数据</td>
<td>索引</td>
<td>计数</td>
<td>第一个</td>
<td>最后一个</td>
</tr>
<c:forEach items="${list}" var="l" varStatus="vs">
<tr>
<td>${l}</td>
<td>${vs.index}</td>
<td>${vs.count}</td>
<td>${vs.first}</td>
<td>${vs.last}</td>
</tr>
</c:forEach>
</table>
结果: