Facelets repeat Tag Index

c12 picture c12 · Apr 6, 2011 · Viewed 54.4k times · Source

Does anyone know a way to get the index of the element in a ui:repeat facelets tag?

<ui:repeat id="topTenGrd" var="dream" value="#{dreamModifyBean.topDreams}">
    <h:outputText class="dream-title uppercase" value="#{dream.number}. #{dream.title}" />
</ui:repeat>

Answer

Brian Leathem picture Brian Leathem · Apr 6, 2011

Specify a value for the "varStatus" attribute:

<ui:repeat id="..." var="..." value="..." varStatus="myVarStatus">

You can then access the loop index via EL:

#{myVarStatus.index}

Additionally, the following properties are available to the varStatus:

  • begin of type Integer
  • end of type Integer
  • index of type int
  • step of type Integer
  • even of type boolean
  • odd of type boolean
  • first of type boolean
  • last of type boolean

For more details, see:

https://docs.oracle.com/javaee/7/javaserver-faces-2-2/vdldocs-facelets/ui/repeat.html