问题

我想使用来自JSTL forEach循环的计数,但我的代码似乎不起作用。

<c:forEach items="${loopableObject}" var="theObject" varStatus="theCount">
    <div id="divIDNo${theCount}">
    </div>
</c:forEach>

产生

<div id="divIDNojavax.servlet.jsp.jstl.core.LoopTagSupport$1Status@5570e2" >

#1 热门回答(239 赞)

varStatus设置的变量是aLoopTagStatusobject,而不是int。使用:

<div id="divIDNo${theCount.index}">

澄清:

  • $ 从0开始计数
  • $ 从1开始计数

#2 热门回答(3 赞)

你会使用以下任何一个:

JSTL c:forEach varStatus属性

物业获取者描述

  • current getCurrent()当前迭代循环的项(来自集合)。
  • index getIndex()当前迭代循环的从零开始的索引。
  • count getCount()当前迭代循环的从1开始的计数
  • first isFirst()标志,指示当前轮次是否是第一次通过迭代
  • last isLast()标志,指示当前轮次是否是最后一次通过迭代
  • begin getBegin()begin属性的值
  • end getEnd()end属性的值
  • step getStep()step属性的值

#3 热门回答(2 赞)

你可以试试这个。类似的结果

<c:forEach items="${loopableObject}" var="theObject" varStatus="theCount">
    <div id="divIDNo${theCount.count}"></div>
 </c:forEach>

原文链接