如何将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>
答案 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>
答案 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”
答案 3 :(得分:-2)
此外,如果您想使用该值本身,您可以使用&#39; current&#39;属性。
<c:forEach begin="0" end="2" varStatus="position">
${position.current}
</c:forEach>
这将给出:
0 1 2
当您使用从零开始的数组时,这很有用。