使用 JSTL forEach loop 的 varStatus 作为 ID

2022-08-31 09:34:02

我想使用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

由 设置的变量是 LoopTagStatus 对象,而不是 int。用:varStatus

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

澄清:

  • ${theCount.index}开始计数的值为,除非您已设置属性0begin
  • ${theCount.count}开始计数1

答案 2

您将使用以下任何一个:

JSTL c:forEach varStatus properties

属性获取器说明

  • current getCurrent() 当前迭代轮的项(来自集合)。

  • index getIndex() 当前迭代回合的从零开始的索引。

  • count getCount() 当前迭代回合的基于 1 的计数

  • first isFirst() 标志,指示当前轮次是否是迭代中的第一次传递
  • last isLast() 标志,指示当前轮次是否为迭代的最后一次传递

  • begin getBegin() begin 属性的值

  • end getEnd() end 属性的值

  • step getStep() step 属性的值