Thymeleaf循环渲染
时间: 2024-09-05 20:01:37 浏览: 36
Thymeleaf是一个强大的模板引擎,常用于Spring框架中。它支持迭代(looping),即循环渲染,当你需要多次显示相同的数据结构时,比如列表或数组。在Thymeleaf中,你可以使用`th:each`指令来进行循环,并通过变量名访问当前迭代项。
例如,在HTML模板里,你可以这样做:
```html
<table>
<tr th:each="item : ${items}">
<td th:text="${item.name}">Item Name</td>
<td th:text="${item.description}">Item Description</td>
</tr>
</table>
```
在这个例子中,`${items}`是数据源(通常是来自Controller的Model对象),`th:each`遍历这个列表,每次迭代都会创建一个新的`<tr>`元素,其中`item`就是当前的迭代项,它的属性如`name`和`description`会被用来填充相应的表单字段。
相关问题
Thymeleaf循环
Thymeleaf循环是指在Thymeleaf模板中使用th:each属性来遍历集合或数组中的元素,并将其渲染到HTML页面中。可以使用th:each来循环List、Set、数组和Map等集合类型。在循环中,可以使用th:each属性的特殊变量来访问当前元素、当前元素的索引、当前循环状态等信息。
例如,在Thymeleaf模板中使用th:each来循环一个数组,可以使用类似以下的代码:
```
<div th:each="item : ${myArray}">
<p th:text="${item}"></p>
</div>
```
这段代码会将myArray数组中的每个元素渲染为一个p标签,并将元素的值填充到p标签中。
thymeleaf循环session里的数据
可以使用Thymeleaf的循环语句来遍历session中的数据。
首先,在控制器中将要遍历的数据存储到session中,例如:
```java
@RequestMapping("/setSession")
public String setSession(HttpSession session) {
List<String> userList = new ArrayList<>();
userList.add("Alice");
userList.add("Bob");
userList.add("Carol");
session.setAttribute("userList", userList);
return "redirect:/";
}
```
然后,在Thymeleaf模板中使用th:each循环语句来遍历session中的数据,例如:
```html
<table>
<thead>
<tr>
<th>Username</th>
</tr>
</thead>
<tbody>
<tr th:each="user : ${session.userList}">
<td th:text="${user}"></td>
</tr>
</tbody>
</table>
```
这里的${session.userList}表示从session中获取名为userList的属性值,并使用th:each循环语句来遍历其中的元素。在每次循环中,Thymeleaf会将当前元素赋值给user变量,并在表格中显示出来。
需要注意的是,如果session中的属性值为null,或者属性不存在,Thymeleaf将不会渲染相应的部分。因此,为了保证模板的健壮性,建议在使用session中的数据之前,先进行判空处理。
阅读全文