JavaScript,JSTL中的forEach标签并没有提供类似break的方法。那么,我们如果需要在一定条件下进行循环中断要怎么办呢?
需求:判断一个后台传到前台的List,如果这个List中的包含某个产品名称,那就显示出来,但是只能显示一次。(可能包含一个名称多次重复)
<c:set var="endValue" value="0" scope="page"></c:set>
<c:forEach var="product" items="${printContent.products }">
<c:if test="${product.phoneModelName=='CPE90'&& endValue=='0'}">
CPE90
<c:set var="endValue" value="1" scope="page"></c:set>
</c:if>
<c:if test="${product.phoneModelName=='CPW90'&& endValue=='0'}">
CPW90
<c:set var="endValue" value="1" scope="page"></c:set>
</c:if>
</c:forEach>
可以查看以上代码,先在Foreach循环外,使用<c:set>标签,进行一个变量赋值,scope表明的是作用域,不明白的同学可以百度。在我的循环中,如果满足了我的循环条件,就把endValue这个值赋1。下一次循环,即使满足我的phoneModelName==‘CPE90’,但是另一个条件 endValue==‘0’不满足,条件进不去,相当于中断循环。