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>