条件判断
th:if
进行判断处理
举个例子:
<p th:if="${user.getAge()} == '男'">
性别:男
</p>
这里使用的是 ModelAndView 传递的 user 对象
th:switch 配合 th:case
用来分流处理
举个例子:
<div th:switch="${user.getAge()}">
<p th:case="25">
年龄:25
</p>
</div>
迭代遍历
th:each =“i : array”
遍历对象,和 Java 中的 foreach
举个例子:前端的在下面
List<User> list = new ArrayList<>();
list.addAll(Arrays.asList(new User("aa", 23, "男"),
new User("bb", 22, "男"), new User("cc", 21, "男")));
modelAndView.addObject("users", list);
Thymeleaf 还为数组的对象提供了一个状态变量
th:each =“i, var : array”
逗号后面的就是状态变量,可以获取 index、count、size、even、odd、first、last
index 索引值
count 计数器
size 数组大小
even 是否是奇数位置
odd 是否是偶数位置
first 是否是第一个
last 是否是最后一个
举个例子:
<table border="1px">
<tr>
<th>Name</th>
<th>Age</th>
<th>Gender</th>
<th>index</th>
<th>count</th>
<th>size</th>
<th>even</th>
<th>odd</th>
<th>first</th>
<th>last</th>
</tr>
<tr th:each="u, var : ${users}">
<td th:text="${u.name}"></td>
<td th:text="${u.age}"></td>
<td th:text="${u.gender}"></td>
<td th:text="${var.index}"></td>
<td th:text="${var.count}"></td>
<td th:text="${var.size}"></td>
<td th:text="${var.even}"></td>
<td th:text="${var.odd}"></td>
<td th:text="${var.first}"></td>
<td th:text="${var.last}"></td>
</tr>
</table>
th:each 获取 map 中的值
Map<String, User> map = new HashMap<>();
map.put("u1",new User("aa", 23, "男"));
map.put("u2",new User("bb", 23, "男"));
map.put("u3",new User("cc", 23, "男"));
modelAndView.addObject("userMap", map);
th:each=“maps : ${userMap}”
th:each=“map : ${maps}” 是每行都有的
<table border="1px">
<tr>
<th>Key</th>
<th>Name</th>
<th>Age</th>
<th>Gender</th>
</tr>
<tr th:each="maps : ${userMap}">
<td th:each="map : ${maps}" th:text="${maps.key}"></td>
<td th:each="map : ${maps}" th:text="${map.value.name}"></td>
<td th:each="map : ${maps}" th:text="${map.value.age}"></td>
<td th:each="map : ${maps}" th:text="${map.value.gender}"></td>
</tr>
</table>