如何按索引循环?
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>
我遇到解析错误
org.thymeleaf.exceptions.TemplateProcessingException: Could not parse as each: "${index: #numbers.sequence(0, ${student.tasks.length})}"
Thymeleafth:eace
允许您声明迭代状态变量
<span th:each="task,iter : ${foo.tasks}">
然后在循环中,您可以引用iter.index
和iter.size
。
参见教程:使用Thymeleaf-6.2保持迭代状态。
如果我们省略它,Thymeleaf总是声明隐式迭代状态变量。
<span th:each="task : ${foo.tasks}">
<span th:text="${taskStat.index} + ': ' + ${task.name}"></span>
</span>
这里,状态变量名为taskstat
,它是变量taskstat
和后缀stat
的集合。
然后在循环中,我们可以引用taskstat.index
,taskstat.size
,taskstat.count
,taskstat.even
和taskstat.odd
,taskstat.first
和taskstat.last
。
来源:教程:使用Thymeleaf-6.2保持迭代状态