Je veux utiliser le nombre de la boucle JSTL forEach, mais mon code ne semble pas fonctionner.
<c:forEach items="${loopableObject}" var="theObject" varStatus="theCount">
<div id="divIDNo${theCount}">
</div>
</c:forEach>
produit
<div id="divIDNojavax.servlet.jsp.jstl.core.LoopTagSupport$1Status@5570e2" >
La variable définie par varStatus
est un LoopTagStatus
, pas un int. Utilisation:
<div id="divIDNo${theCount.index}">
Clarifier:
${theCount.index}
commence à compter à 0
à moins que vous n'ayez défini l'attribut begin
${theCount.count}
commence à compter à 1
vous utiliseriez n'importe lequel de ceux-ci:
JSTL c: forEach, propriétés varStatus
Propriété Getter Description
current getCurrent () L'élément (de la collection) pour la série d'itérations en cours.
index getIndex () Index de base zéro pour la série d'itérations en cours.
count getCount () Le nombre basé sur une base pour la série d'itérations en cours
last isLast () Indicateur signalant si le round en cours est le dernier passage de l'itération.
begin getBegin () La valeur de l'attribut begin
end getEnd () La valeur de l'attribut end
step getStep () La valeur de l'attribut step
Vous pouvez essayer ça. résultat similaire
<c:forEach items="${loopableObject}" var="theObject" varStatus="theCount">
<div id="divIDNo${theCount.count}"></div>
</c:forEach>
Cela m'a vraiment aidé à générer dynamiquement les identifiants de showDetailItem
pour le code ci-dessous.
<af:forEach id="fe1" items="#{viewScope.bean.tranTypeList}" var="ttf" varStatus="ttfVs" >
<af:showDetailItem id ="divIDNo${ttfVs.count}" text="#{ttf.trandef}"......>
si vous exécutez cette ligne <af:outputText value="#{ttfVs}"/>
affiche le texte ci-dessous:
{index = 3, compte = 4, dernier = faux, premier = faux, fin = 8, étape = 1, début = 0}