使用Thymeleaf循环遍历
Thymeleaf是一种Java服务器模板引擎,可用于构建Web应用程序。它允许我们在HTML模板中嵌入表达式,使得展示数据变得更加简单。在本文中,我们将重点介绍如何使用Thymeleaf循环遍历。
1. 循环遍历列表
循环遍历列表是使用Thymeleaf的常见操作。假设我们有以下Java类:
public class User {
private String name;
private int age;
public User(String name, int age) {
this.name = name;
this.age = age;
}
// 省略 getter 和 setter
}
我们可以在Controller中将一组User对象存储在Model中:
@GetMapping("/users")
public String getUsers(Model model) {
List<User> users = new ArrayList<>();
users.add(new User("张三", 20));
users.add(new User("李四", 25));
users.add(new User("王五", 30));
model.addAttribute("users", users);
return "users";
}
在上面的代码中,我们将一个名为"users"的List<User>对象存储在Model中,然后返回一个名为"users"的HTML模板。
接下来,在HTML模板中使用Thymeleaf循环遍历这个列表:
<table>
<thead>
<tr>
<th>姓名</th>
<th>年龄</th>
</tr>
</thead>
<tbody>
<tr th:each="user : ${users}">
<td th:text="${user.name}"></td>
<td th:text="${user.age}"></td>
</tr>
</tbody>
</table>
在上面的代码中,我们使用了th:each属性来循环遍历"users"列表,"user"是循环变量,"${users}"是要遍历的列表。在每次循环中,我们使用th:text属性将每个User对象的"name"和"age"属性值显示在HTML表格中。

2. 循环遍历Map
Thymeleaf也支持循环遍历Map。假设我们有以下的Java类:
public class City {
private String name;
private String province;
public City(String name, String province) {
this.name = name;
this.province = province;
}
// 省略 getter 和 setter
}
我们可以在Controller中将一个Map<String, City>对象存储在Model中:
@GetMapping("/cities")
public String getCities(Model model) {
Map<String, City> cities = new HashMap<>();
cities.put("北京", new City("北京", "北京"));
cities.put("上海", new City("上海", "上海"));
cities.put("广州", new City("广州", "广东"));
model.addAttribute("cities", cities);
return "cities";
}
在上面的代码中,我们将一个名为"cities"的Map<String, City>对象存储在Model中,然后返回一个名为"cities"的HTML模板。
接下来,在HTML模板中使用Thymeleaf循环遍历这个Map:
<table>
<thead>
<tr>
<th>城市</th>
<th>省份</th>
</tr>
</thead>
<tbody>
<tr th:each="entry : ${cities}">
<td th:text="${entry.key}"></td>
<td th:text="${entry.value.province}"></td>
</tr>
</tbody>
</table>
在上面的代码中,我们使用了th:each属性来循环遍历"cities" Map,"entry"是循环变量,"${cities}"是要遍历的Map。在每次循环中,我们使用th:text属性将每个City对象的"name"和"province"属性值显示在HTML表格中。
3. 循环遍历数组
Thymeleaf也支持循环遍历数组。假设我们有以下的Java数组:
String[] fruits = {"苹果", "香蕉", "橙子"};
model.addAttribute("fruits", fruits);
在上面的代码中,我们将一个名为"fruits"的String数组存储在Model中。
接下来,在HTML模板中使用Thymeleaf循环遍历这个数组:
<ul>
<li th:each="fruit : ${fruits}" th:text="${fruit}"></li>
</ul>
在上面的代码中,我们使用了th:each属性来循环遍历"fruits"数组,"fruit"是循环变量,"${fruits}"是要遍历的数组。在每次循环中,我们使用th:text属性将每个水果的名称显示在HTML列表中。
常见问答
1. Thymeleaf是什么?
Thymeleaf是一种Java服务器模板引擎,可用于构建Web应用程序。它允许我们在HTML模板中嵌入表达式,使得展示数据变得更加简单。
2. Thymeleaf支持哪些循环遍历操作?
Thymeleaf支持循环遍历列表、Map和数组。
3. 如何在Thymeleaf中循环遍历列表?
使用Thymeleaf循环遍历列表需要使用th:each属性。例如:
<tr th:each="user : ${users}">
<td th:text="${user.name}"></td>
<td th:text="${user.age}"></td>
</tr>
4. 如何在Thymeleaf中循环遍历Map?
使用Thymeleaf循环遍历Map需要使用th:each属性。例如:
<tr th:each="entry : ${cities}">
<td th:text="${entry.key}"></td>
<td th:text="${entry.value.province}"></td>
</tr>
5. 如何在Thymeleaf中循环遍历数组?
使用Thymeleaf循环遍历数组需要使用th:each属性。例如:
<li th:each="fruit : ${fruits}" th:text="${fruit}"></li>
6. 如何在Thymeleaf中使用循环变量?
在Thymeleaf中,我们可以使用th:each属性来定义循环变量。例如:
<tr th:each="user : ${users}">
<td th:text 本文来源:词雅网
本文地址:https://www.ciyawang.com/yo27an.html
本文使用「 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 」许可协议授权,转载或使用请署名并注明出处。
相关推荐
-
如何巧妙地使用for循环?
用于更新循环变量的值。基础知识了解完毕后,让我们开始探索如何巧妙地使用for循环。 使用for循环遍历数组 在处理数组时,我们通常需要遍历其中的每个元素。使用for循环可以非常方便地实现这一目的。以
-
如何使用forEach循环?
什么是forEach循环? 在JavaScript中,forEach()方法是一个高阶函数,可以用于遍历数组元素并对每个元素执行指定的操作。它是一种更简单、更易读的循环方式,可以比其他循环更有效地处理
-
什么是箭头函数?——深入探究JavaScript的新特性
p(item => item + 1); 迭代器 在JavaScript中,迭代器是一种可以遍历集合中每个元素的对象。使用箭头函数可以使迭代器更加简洁易读,例如: // 普通函数 funct
-
如何进行代码性能分析和优化建议的技巧
因此,我们应该尽可能地减少循环嵌套的深度。可以使用迭代器等技术来替代嵌套循环。 // 使用迭代器来遍历列表 List list = new ArrayList(); for (String s :
-
PHP中如何实现在线聊天和即时通讯?
e接口。在onOpen()方法中,将连接保存到clients对象中。在onMessage()方法中,遍历clients对象,将消息发送给所有连接。在onClose()方法中,将连接从clients对象
-
PHP条件语句和循环结构:让代码更高效
le语句会先执行一次循环体,然后再进行条件判断。 foreach语句 foreach语句是一种用于遍历数组的循环语句,它可以遍历数组中的每个元素,并执行一段代码。foreach语句的语法如下: f
-
解决jQuery代码中的表格操作问题
" + city); }); }); }); 通过使用jQuery的each()方法遍历表格中的每一行,再使用find()方法获取每一行中的每一列数据。 问题二:如何添加和删除表格中
-
解决jQuery代码中的数据格式转换问题
/ 处理数据 } }); 在回调函数中,我们可以使用jQuery的$.each()方法来遍历数据,然后将数据插入到我们需要的元素中。例如: $.each(data, function(
-
解决jQuery代码中的循环迭代问题
问题描述 在使用jQuery编写代码时,经常需要使用循环迭代的方法来遍历数组或对象。然而,在循环迭代的过程中,我们经常会遇到一些问题,如何避免这些问题呢? 问题分析 在jQuery中,我们可以使用$
-
解决jQuery代码中的循环遍历问题
问题背景 在前端开发中,经常需要使用jQuery来操作DOM元素。其中一个常见的需求是对一组元素进行遍历并进行相应的操作。jQuery提供了多种方法来实现遍历,如each()、map()等。然而,在实
词雅网