Thymeleaf官方文档翻译
6.2 保持迭代状态
使用 时th:each,Thymeleaf 提供了一种有助于跟踪迭代状态的机制:状态变量。
状态变量在th:each属性中定义并包含以下数据:
当前迭代索引,从 0 开始。这是index属性。
当前迭代索引,从 1 开始。这是count属性。
迭代变量中的元素总数。这是size属性。
每次迭代的iter 变量。这是current属性。
当前迭代是偶数还是奇数。这些是even/odd布尔属性。
当前迭代是否是第一个。这是first布尔属性。
当前迭代是否是最后一次。这是last布尔属性。
使用1
<tr th:each="user,item:${users}">
<td th:text="${item.index}"></td>
<td th:text="${item.count}"></td>
<td th:text="${item.size}"></td>
<td th:text="${item.current}"></td>
<td th:text="${item.even}"></td>
<td th:text="${item.odd}"></td>
<td th:text="${item.first}"></td>
<td th:text="${item.last}"></td>
</tr>
状态变量(item)必须在迭代变量右边(user)否则会有问题
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/2eb3784664a2f00b2fa9c12700109662.png)
如果没有显式地设置状态变量,则Thymeleaf将始终为您创建⼀个默认的 迭代变量,该状态迭代变量名称为:迭代变量+“Stat”
<tr th:each="user:${users}">
<td th:text="${userStat.index}"></td>
<td th:text="${userStat.count}"></td>
<td th:text="${userStat.size}"></td>
<td th:text="${userStat.current}"></td>
<td th:text="${userStat.even}"></td>
<td th:text="${userStat.odd}"></td>
<td th:text="${userStat.first}"></td>
<td th:text="${userStat.last}"></td>
</tr>
效果
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/99f844ce3d0d9c732e2bed6060d150fc.png)