1. 程式人生 > >Jsp中在<c:forEach>標簽內獲取集合的長度

Jsp中在<c:forEach>標簽內獲取集合的長度

.com var glib vars 用戶 ole sof 16px 直接

這次給大家分享一個小知識點——利用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屬性的值。

Jsp中在<c:forEach>標簽內獲取集合的長度