這次給大家分享一個小知識點——利用JSTL標簽庫中的functions標簽來獲取集合長度。
一、首先在jsp頁面導入JSTL的core標簽和functions標簽
1 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 2 <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
二、用<c:forEach>標簽來遍歷集合
1 <c:forEach items="${userList}" var="user" > 2 <h3>${fn:length(userList)}</h3> 3 </c:forEach>
這樣通過${fn:length()}就可以很輕松的獲取到userList集合的長度啦!
三、利用<c:forEach>標簽中集合的長度來進行判斷操作
1 <c:forEach items="${userList}" var="user" varStatus="vs"> 2 <c:if test="${(fn:length(userList)) > 1}"> 3 <span>用戶${vs.count}</span> 4 </c:if> 5 <c:if test="${(fn:length(userList)) == 1}"> 6 <span>用戶</span> 7 </c:if>
8 </c:forEach>
以上代碼的結果為:
①當用戶集合userList長度大於1時,則用戶后面拼接這次迭代從1開始的迭代計數。
如userList的長度為3時,則顯示成 :用戶1 用戶2 用戶3;
②當用戶集合userList長度等於1時,則直接顯示為“用戶”。
四、<c:forEach>標簽中的小知識點總結:
①current:當前這次迭代的(集合中的)項。
②index:當前這次迭代從0開始的迭代索引。
③count:當前這次迭代從1開始的迭代計數。
④first:用來表明當前這輪迭代是否為第一次迭代,該屬性為boolean類型。
⑤last:用來表明當前這輪迭代是否為最后一次迭代,該屬性為boolean類型。
⑥begin:begin屬性的值。
⑦end:end屬性的值。
⑧step:step屬性的值。