JSTL:使用JSTL实现JSP页面中逻辑处理。如判断、循环等。
在JSP页面添加taglib指令
核心标签库:
通用标签: set、 out、 remove
<c:set var="i" value="${2 }" scope="page" /><br>
<c:out value="${i }" /><br> <%--<c:out value="${i }" />==${i } --%>
条件标签:if choose
<c:if test="${ i>1}">
true<br>
</c:if>
<c:choose>
<c:when test="${i==1 }">
第一名
</c:when>
<c:when test="${i==2 }">
第二名
</c:when>
<c:when test="${i==3 }">
第三名
</c:when>
<c:otherwise><%--=default --%>
没有名次
</c:otherwise>
</c:choose>
迭带标签:foreach
普通循环
<c:forEach var="j" begin="1" end="10" step="2" >
<br/>${j }
</c:forEach>
for(类型 变量名:数组或集合)
<%
List list=new ArrayList();
list.add("aaaa");
list.add("bbbb");
list.add("cccc");
list.add("dddd");
list.add("ffff");
pageContext.setAttribute("list", list);
%>
<table border="1">
<tr>
<th>数据</th>
<th>索引</th>
<th>计数</th>
<th>第一个</th>
<th>最后一个</th>
</tr>
<c:forEach items="${list }" var="x" varStatus="vs">
<tr ${vs.count%2==1 ? "style='background-color:lime'" : "style='background-color:green'" }>
<td>${x }</td>
<td>${vs.index }</td>
<td>${vs.count }</td>
<td>${vs.first }</td>
<td>${vs.last }</td>
</tr>
</c:forEach>
</table>
c:forEach中的varStatus属性。
>指向一个字符串,该字符串引用一个对象。 map.put("vs",一个对象);
这个对象记录着当前遍历的元素的一些信息:
>getIndex():返回索引。从0开始
>getCount():返回计数。从1开始
>isLast():是否是最后一个元素
>isFirst():是否是第一个元素