Odpowiedzi:
Zmienna ustawiona przez varStatus
jest LoopTagStatus
obiektem, a nie int. Posługiwać się:
<div id="divIDNo${theCount.index}">
W celu wyjaśnienia:
${theCount.index}
zaczyna liczyć od, 0
chyba że ustawiłeś begin
atrybut${theCount.count}
zaczyna liczyć od 1
${theCount.count}
zawsze zaczyna się od 1. ${theCount.index}
zaczyna się od tego, na co ustawiłeś begin
atrybut. np.<c:forEach var="foo" items="${bar}" begin="5" varStatus="theCount">
użyłbyś dowolnego z tych:
JSTL c: właściwości forEach varStatus
Opis pobierania właściwości
current getCurrent () Element (z kolekcji) dla bieżącej rundy iteracji.
index getIndex () Indeks liczony od zera dla bieżącej rundy iteracji.
count getCount () Licznik (liczony od jedności) dla bieżącej rundy iteracji
last isLast () Flaga wskazująca, czy bieżąca runda jest ostatnim przebiegiem iteracji
begin getBegin () Wartość atrybutu begin
end getEnd () Wartość atrybutu end
step getStep () Wartość atrybutu step
Możesz tego spróbować. podobny wynik
<c:forEach items="${loopableObject}" var="theObject" varStatus="theCount">
<div id="divIDNo${theCount.count}"></div>
</c:forEach>
To naprawdę pomogło mi w dynamicznym generowaniu identyfikatorów showDetailItem
dla poniższego kodu.
<af:forEach id="fe1" items="#{viewScope.bean.tranTypeList}" var="ttf" varStatus="ttfVs" >
<af:showDetailItem id ="divIDNo${ttfVs.count}" text="#{ttf.trandef}"......>
jeśli wykonasz tę linię, <af:outputText value="#{ttfVs}"/>
wyświetli się poniżej:
{indeks = 3, liczba = 4, ostatnia = fałsz, pierwsza = fałsz, koniec = 8, krok = 1, początek = 0}
varStatus.count
), tylko znacznie mniej czytelną. Po co zawracać sobie głowę czytaniem odpowiedzi innych osób? ;)
getIndex()
:)