是否可以重新分配循环索引中循环,以跳过迭代?
玩具示例,打印数字列表1,2,3,4,5,8,9,10
:
<ul>
<c:forEach var="counter" begin="${1}" end="${10}">
<li>${counter}</li>
<c:if test="${counter eq 5}">
<c:set var="counter" value="${counter+2}" /> <!-- skip two iterations -->
</c:if>
</c:forEach>
</ul>
此示例不起作用。有没有办法让它发挥作用?
我并不是说这是一个好主意,我只想知道是否可能。
答案 0 :(得分:1)
没有
根据具体的功能要求,您需要以不同的方式解决它。例如,只在条件真正匹配时才打印迭代项。
<c:forEach var="counter" begin="${1}" end="${10}">
<c:if test="${counter lt 6 or counter gt 7}">
<li>${counter}</li>
</c:if>
</c:forEach>