it-swarm.com.de

Thymeleaf - Wie man eine Liste nach Index durchläuft

Wie kann ich nach Index schleifen?

Foo.Java

public Foo {
    private List<String> tasks;
    ...
}

index.html

<p>Tasks:
    <span th:each="${index: #numbers.sequence(0, ${foo.tasks.length})}">
        <span th:text="${foo.tasks[index]}"></span>
    </span>
</p>

Ich habe einen Parserfehler

org.thymeleaf.exceptions.TemplateProcessingException: Could not parse as each: "${index: #numbers.sequence(0,  ${student.tasks.length})}"
20
richersoon

Mit Thymeleaf th:each können Sie eine Iterationsstatusvariable deklarieren

<span th:each="task,iter : ${foo.tasks}">

Dann können Sie in der Schleife auf iter.index und iter.size verweisen.

Siehe Tutorial: Thymeleaf verwenden - 6.2 Iterationsstatus beibehalten .

57
Jim Garrison

Thymeleaf deklariert immer die implizite Iterationsstatusvariable, wenn wir sie weglassen.

<span th:each="task : ${foo.tasks}">
    <span th:text="${taskStat.index} + ': ' + ${task.name}"></span>
</span>

Hier ist der Name der Statusvariablen taskStat, dh die Aggregation der Variablen task und des Suffixes Stat.

In der Schleife können wir dann auf taskStat.index, taskStat.size, taskStat.count, taskStat.even und taskStat.odd, taskStat.first und taskStat.last verweisen.

Quelle: Tutorial: Thymeleaf verwenden - 6.2 Iterationsstatus beibehalten

2
naXa