Jsp中在<c:forEach>标签内获取集合的长度

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

 

 

猜你喜欢

转载自www.cnblogs.com/fy0206/p/10670381.html
今日推荐