Użyj varStatus pętli JSTL forEach jako ID

Chcę użyć licznika z pętli JSTL forEach, ale mój kod nie działa.

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

Produkuje

<div id="divIDNojavax.servlet.jsp.jstl.core.LoopTagSupport$1Status@5570e2" >
Author: Mark W, 2011-07-06

4 answers

Zmienna ustawiona przez varStatus jest LoopTagStatus obiekt, nie int. Użycie:

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

Dla wyjaśnienia:

  • ${theCount.index} zaczyna liczyć od 0, chyba że ustawiłeś atrybut begin
  • ${theCount.count} zaczyna liczyć na 1
 259
Author: highlycaffeinated,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-05-02 08:56:10

Użyłbyś któregokolwiek z tych:

JSTL c: forEach varstatus properties

Opis Właściwości Getter

  • Current getCurrent() element (z kolekcji) dla bieżącego runda iteracji.

  • Indeks getIndex () indeks bazujący na 0 dla bieżącej rundy iteracja.

  • Licznik getCount() licznik oparty na jednym dla bieżącej rundy iteracji

  • pierwsza Flaga isFirst() wskazująca czy obecna runda jest pierwszym przejściem przez iterację
  • Flaga Last isLast() wskazująca, czy bieżąca runda jest ostatnim przejściem przez iterację

  • Begin getBegin () wartość atrybutu begin

  • End getEnd () wartość atrybutu end

  • Step getStep () wartość atrybutu step

 8
Author: diego matos - keke,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-06 15:02:48

Możesz spróbować tego. podobny wynik

 <c:forEach items="${loopableObject}" var="theObject" varStatus="theCount">
    <div id="divIDNo${theCount.count}"></div>
 </c:forEach>
 5
Author: Nathanphan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-07 14:21:32

Its naprawdę pomógł mi dynamicznie generować identyfikatory 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 poniższy tekst:

{index=3, count=4, last = false, first=false, end= 8, step=1, begin=0}

 1
Author: jyoti pani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-15 21:21:21