百里香 - 如何按索引循环列表

2022-08-31 23:45:21

如何按索引循环?

傅.java

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

索引.html

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

我收到解析错误

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

答案 1

Thymeleaf 允许您声明迭代状态变量th:each

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

然后在循环中,您可以引用 和 。iter.indexiter.size

请参阅教程:使用百里香 - 6.2 保持迭代状态


答案 2

Thymeleaf 总是声明隐式迭代状态变量,如果我们省略它。

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

这里,状态变量名称是变量和后缀的聚合。taskStattaskStat

然后在循环中,我们可以引用 、 、 和 、 和 。taskStat.indextaskStat.sizetaskStat.counttaskStat.eventaskStat.oddtaskStat.firsttaskStat.last

来源:教程:使用百里香 - 6.2 保持迭代状态