Use JSTL forEach loop's varStatus as an ID Use JSTL forEach loop's varStatus as an ID java java

Use JSTL forEach loop's varStatus as an ID


The variable set by varStatus is a LoopTagStatus object, not an int. Use:

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

To clarify:

  • ${theCount.index} starts counting at 0 unless you've set the begin attribute
  • ${theCount.count} starts counting at 1


you'd use any of these:

JSTL c:forEach varStatus properties

Property Getter Description

  • current getCurrent() The item (from the collection) for the currentround of iteration.

  • index getIndex() The zero-based index for the current round ofiteration.

  • count getCount() The one-based count for the current round of iteration

  • first isFirst() Flag indicating whether the current round is the first pass through the iteration
  • last isLast() Flag indicating whether the current round is the last pass through the iteration

  • begin getBegin() The value of the begin attribute

  • end getEnd() The value of the end attribute

  • step getStep() The value of the step attribute


You can try this. similar result

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