是否可以在JSTL forEach循环中重新分配循环索引?

时间:2012-08-28 18:20:55

标签: jsp jstl el

是否可以重新分配循环索引中循环,以跳过迭代?

玩具示例,打印数字列表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>

此示例不起作用。有没有办法让它发挥作用?

我并不是说这是一个好主意,我只想知道是否可能。

1 个答案:

答案 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>