今天用到了 JSTL 的 forEach 标签循环遍历一个集合,在这个循环内写了一个 <c:if> 标签,当满足某个条件的时候要终止循环,但是标签里不能使用 break,那怎么样终止循环呢?且看下面的代码:
<%
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: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>标签的循环了。
<%
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: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>标签的循环了。