控制层:
@Controller
public class ThirdThymeleafController {
@GetMapping("/third")
public String third(Model model) {
String msg = "hello,thymeleaf";
User user1 = new User(1, "张三", 23);
User user2 = new User(2, "李四", 25);
User user3 = new User(3, "王五", 27);
List<User> list = new ArrayList<>();
list.add(user1);
list.add(user2);
list.add(user3);
model.addAttribute("msg", msg);
model.addAttribute("userList", list);
return "index3";
}
}
注:会将数据返回给 /src/main/resources/templates/index3.html 页面中,该路径为默认路径。
页面:
<tr>
<td>编号</td>
<td>姓名</td>
<td>年龄</td>
<td>index</td>
<td>count</td>
<td>size</td>
<td>current</td>
<td>first</td>
<td>last</td>
</tr>
<tr th:each="user,iterStat:${userList}">
<td th:text="${user.id}"></td>
<td th:text="${user.username}"></td>
<td th:text="${user.age}"></td>
<td th:text="${iterStat.index}">index</td>
<td th:text="${iterStat.count}">count</td>
<td th:text="${iterStat.size}">size</td>
<td th:text="${iterStat.current}">current</td>
<td th:text="${iterStat.first}">first</td>
<td th:text="${iterStat.last}">last</td>
</tr>
效果:
注:
iterStat 称作状态变量,属性有:
index:当前迭代对象的 index(从 0 开始计算)
count:当前迭代对象的 index(从 1 开始计算)
size:被迭代对象的大小
current:当前迭代变量
even/odd:布尔值,当前循环是否是偶数/奇数(从 0 开始计算)
first:布尔值,当前循环是否是第一个
last:布尔值,当前循环是否是最后一个