您的位置:首页 > Web前端 > JavaScript

EL表达式与JSTL标签map遍历varStatus属性下标使用

2016-07-13 10:30 316 查看
在JSP页面开发中,JSTL标签库迭代标签<c:forEach>为我们迭代遍历数组集合提供了一种选择。

遍历过程中varStatus属性为我们遍历集合提升了很大操作空间。

贴一下具体使用 :

需求:有一map集合,生成标准table,三个元素一换行

<c:forEach var="entry" items="${map}" begin="0" end="${fn:length(map)}" varStatus="status">
<c:choose>
<c:when test="${(status.index)%3==0}">
<tr><td>${entry.key}:${entry.value}</td>
</c:when>
<c:when test="${fn:length(map) == status.count || (status.index)%3==2}">
<td>${entry.key}:${entry.value}</td></tr>
</c:when>
<c:otherwise>
<td>${entry.key}:${entry.value}</td>
</c:otherwise>
</c:choose>
</c:forEach>


      

说明:1、items:是集合,用EL表达式;

2、var:变量名,存放items ,代表集合中每一条数据

3、varStatus: 显示循环状态的变量,通过下面几个属性,可以方便使用迭代索引值,进行特殊判断业务:

①index:从0开始; 显示当前迭代的索引值

②count:元素位置,从1开始; 显示当前迭代显示的行位置。通过配合判断语句,可实现上面例子中三个一换行的效果

③first:如果是第一个元素则显示true;

④last:如果是最后一个元素则显示true;

4、begin:循环的初始值(整型);

5、end: 循环结束 ;

6、step:步长,循环间隔的数值;

   ${fn:xxx} 为JSTL提供的一套标准函数库,包含了一些字符串处理的方法。

在JSP页面中引入函数声明,就可以使用了:<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: