jstl forEach迭代时没有确定的步骤数

jstl forEach迭代时没有确定的步骤数,foreach,jstl,Foreach,Jstl,我想创建一个从0开始到count结束的forEach;该变量计数可以在循环内更改。我将计数设置为4,然后将内部循环更改为8,但这并没有更改循环的数量 <c:set var="count" value="4"></c:set> <c:forEach begin="0" end="${count}"> <c:out value="message"></c:out> <c:

我想创建一个从0开始到count结束的forEach;该变量计数可以在循环内更改。我将计数设置为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次,我认为你做不到

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

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

...

真可惜。我担心这会是答案,但我想也许我错了。是否有一个变通办法来做我想做的事情?