java - varstatus - jstl foreach list
Use JSTL para cada varStatus de bucle como ID (4)
La variable establecida por varStatus es un objeto download.oracle.com/javaee/6/api/javax/servlet/jsp/jstl/core/… , no un int. Utilizar:
<div id="divIDNo${theCount.index}">
Para aclarar:
-
${theCount.index}
comienza a contar a 0 -
${theCount.count}
comienza a contar a 1
Quiero usar el recuento de JSTL para cada ciclo, pero parece que mi código no funciona.
<c:forEach items="${loopableObject}" var="theObject" varStatus="theCount">
<div id="divIDNo${theCount}">
</div>
</c:forEach>
produce
<div id="divIDNojavax.servlet.jsp.jstl.core.LoopTagSupport$1Status@5570e2" >
Puedes probar esto. resultado similar
<c:forEach items="${loopableObject}" var="theObject" varStatus="theCount">
<div id="divIDNo${theCount.count}"></div>
</c:forEach>
Realmente me ayudó a generar dinámicamente identificadores de showDetailItem
para el código siguiente.
<af:forEach id="fe1" items="#{viewScope.bean.tranTypeList}" var="ttf" varStatus="ttfVs" >
<af:showDetailItem id ="divIDNo${ttfVs.count}" text="#{ttf.trandef}"......>
si ejecuta esta línea <af:outputText value="#{ttfVs}"/>
imprime lo siguiente:
{index = 3, count = 4, last = false, first = false, end = 8, step = 1, begin = 0}
usarías cualquiera de estos:
JSTL c: para cada propiedad varStatus
Property Getter Descripción
current getCurrent () El elemento (de la colección) para la ronda de iteración actual.
índice getIndex () El índice basado en cero para la ronda de iteración actual.
count getCount () El recuento basado en uno para la ronda de iteración actual
- primero isFirst () Bandera que indica si la ronda actual es la primera pasada a través de la iteración
last is Last () Bandera que indica si la ronda actual es la última pasada a través de la iteración
begin getBegin () El valor del atributo begin
end getEnd () El valor del atributo final
step getStep () El valor del atributo step