1

反復をスキップするために、ループインデックスをループの途中で再割り当てすることは可能ですか?

おもちゃの例、数字のリストを印刷するには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>

この例は機能しません。それを機能させる方法はありますか?

私はこれが良い考えだと言っているのではなく、それが可能かどうかだけ知りたいのです。

4

1 に答える 1

2

いいえ。

具体的な機能要件に応じて、別の方法で解決する必要があります。たとえば、条件が実際に一致する場合にのみ、繰り返されるアイテムを印刷します。

<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>
于 2012-08-28T18:23:48.370 に答える