代码之家  ›  专栏  ›  技术社区  ›  bogdan.rusu

jstl forEach迭代,没有特定的步骤数

  •  0
  • bogdan.rusu  · 技术社区  · 12 年前

    我想创建一个从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 回复  |  直到 12 年前
        1
  •  1
  •   Alex    12 年前

    我认为你做不到。

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

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