Jsp中在标签内获取集合的长度


这次给大家分享一个小知识点——利用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属性的值。

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM