jstl forEach迭代没有一定数量的步骤

时间:2014-08-20 11:38:01

标签: foreach jstl

我想创建一个从0开始并以count结束的forEach;变量计数可以在循环内改变。我将count设置为4,内部循环将其更改为8,但这并未改变循环次数。

<c:set var="count" value="4"></c:set>
        <c:forEach begin="0" end="${count}">
            <c:out value="message"></c:out>
            <c:if test="${count < 6}">
                <c:set var="count" value="8"/>
            </c:if>

        </c:forEach>

结果:消息五次,预期为9

1 个答案:

答案 0 :(得分:1)

我认为你不能这样做。

因为JSTL最终被转换为java代码,所以解释器在到达该行时将直接获取计数的值。因此,它相当于:

<c:forEach begin="0" end="4">
...
</c:forEach>