JSP 中使用 JSTL 遍历循环时,当已满足条件时,不想再往下走后面的循环,这时如何跳出该循环呢?
本节将介绍该解决方案。
可以利用一个变量通过给它赋不同的值来判断是否继续循环
以下转自:http://blog.csdn.net/clare504/article/details/38921957
- <%
- List l = new ArrayList();
- l.add(new Long(1));
- l.add(new Long(4));
- l.add(new Long(5));
- l.add(new Long(3));
- l.add(new Long(2));
- l.add(new Long(6));
- session.setAttribute("list",l);
- %>
-
- <c:set var="flag" value="true" />
- <c:forEach items="${sessionScope.list}" var="i" varStatus="loopstatus">
- <c:if test="${flag }">
- ${i }<br/>
- </c:if>
- <c:if test="${i eq 3}">
- <c:set var="flag" value="false"/>
- </c:if>
- </c:forEach>
-
-
- 这样,当<c:if>的条件成立的时候就可以退出<c:forEach>标签的循环了。
还可以利用这种方式,设置一个变量来作为走forEach循环的条件:
- <c:forEach var="_r" items="${UPDATEUSERROLEUSERLISTROLE}" end="exitId">
- <c:if test="${(_r['lasRoleWeightname'] eq _ur['lasRoleWeightname'])}">
- <c:set var="exitId" value="0"></c:set>
- </c:if>
- </c:forEach>