for循环到jstl forEach

时间:2013-11-05 11:41:28

标签: java jstl

如何将for循环转换为jstl foreach

for(int i = 0 ; i<=21; i+=3){
  // print foo
}

这是我到目前为止所做的:

<c:forEach varStatus="loop" begin="0" end="21">
  // display foo
</c:forEach>

4 个答案:

答案 0 :(得分:7)

根据jstl你应该尝试:

<c:forEach begin="0" end="21" step="3" varStatus="loop">
    <c:out value="${loop.count}"/>
</c:forEach>

答案 1 :(得分:2)

您可以使用jstl步骤属性

<c:forEach varStatus="loop" begin="0" end="21" step="3">
  // display foo
</c:forEach>

JSTL tutorial

答案 2 :(得分:-1)

`<c:forEach
items="<object>"
begin="<int>"
end="<int>"
step="<int>"
var="<string>"
varStatus="<string>">
</c:forEach>`

项目 - 要在循环中迭代的项目集合

开始 - 开始迭代的索引。迭代从此属性值中提到的值开始。 (如果指定了项目)第一项的索引为0.在您的情况下,开始=“0”

结束 - 迭代的结束索引。迭代停止在此属性值(包括)中提到的值。 (如果指定了项目)。在您的情况下,开始=“49”。

step - 此属性中指定的迭代的步长值。在您的案例中,步骤=“3”。

var - 包含迭代中当前项的范围变量的名称。此变量的类型取决于迭代中的项目,并具有嵌套的可见性。

varStatus - 包含当前迭代循环状态的范围变量的名称。此变量的类型为javax.servlet.jsp.jstl.core.LoopTagStatus,并具有嵌套的可见性。

增加3 - &gt; step =“3”

结束循环49 - &gt; 结束=“49”

link

答案 3 :(得分:-2)

此外,如果您想使用该值本身,您可以使用&#39; current&#39;属性。

<c:forEach begin="0" end="2" varStatus="position">
   ${position.current}
</c:forEach>

这将给出:

0 1 2

当您使用从零开始的数组时,这很有用。