thymeleaf怎么使用增删改查
时间: 2023-10-24 14:16:51 浏览: 91
SpringBoot+Thymeleaf+SSM+Vue.js实现简单的增删改查
3星 · 编辑精心推荐
Thymeleaf 是一个用于 Web 和独立环境的现代服务器端 Java 模板引擎,它可以与 Spring Boot 等框架无缝集成。Thymeleaf 的主要目的是为 Web 和独立环境提供一种自然模板的创建方式,这些模板可以在浏览器中直接显示,或者作为静态资源通过 HTTP 服务器提供服务。
要使用 Thymeleaf 实现增删改查功能,需要先完成以下几个步骤:
1. 配置 Thymeleaf 模板引擎,具体可以参考 Spring Boot 官方文档。
2. 创建实体类,并使用 JPA 或其他 ORM 框架进行持久化操作。
3. 创建控制器,在控制器中编写增删改查的逻辑代码。
4. 创建 Thymeleaf 模板文件,将模板文件与控制器中的逻辑代码进行绑定,以实现对数据的展示和操作。
下面是一个简单的示例:
1. 实体类
```
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "name")
private String name;
@Column(name = "age")
private Integer age;
// getter 和 setter 略
}
```
2. 控制器
```
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserRepository userRepository;
@GetMapping("/list")
public String list(Model model) {
List<User> userList = userRepository.findAll();
model.addAttribute("userList", userList);
return "user/list";
}
@GetMapping("/add")
public String add(Model model) {
model.addAttribute("user", new User());
return "user/form";
}
@PostMapping("/save")
public String save(@ModelAttribute("user") User user) {
userRepository.save(user);
return "redirect:/user/list";
}
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Long id, Model model) {
User user = userRepository.findById(id).orElse(null);
model.addAttribute("user", user);
return "user/form";
}
@GetMapping("/delete/{id}")
public String delete(@PathVariable("id") Long id) {
userRepository.deleteById(id);
return "redirect:/user/list";
}
}
```
3. Thymeleaf 模板文件
list.html
```
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>User List</title>
</head>
<body>
<h1>User List</h1>
<table>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Age</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr th:each="user : ${userList}">
<td th:text="${user.id}"></td>
<td th:text="${user.name}"></td>
<td th:text="${user.age}"></td>
<td>
<a th:href="@{/user/edit/{id}(id=${user.id})}">Edit</a>
<a th:href="@{/user/delete/{id}(id=${user.id})}">Delete</a>
</td>
</tr>
</tbody>
</table>
<a th:href="@{/user/add}">Add User</a>
</body>
</html>
```
form.html
```
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>User Form</title>
</head>
<body>
<h1>User Form</h1>
<form th:action="@{/user/save}" th:object="${user}" method="post">
<input type="hidden" th:field="*{id}">
<label>Name:</label>
<input type="text" th:field="*{name}">
<label>Age:</label>
<input type="text" th:field="*{age}">
<button type="submit">Save</button>
<a th:href="@{/user/list}">Cancel</a>
</form>
</body>
</html>
```
在这个示例中,我们使用 Thymeleaf 实现了一个简单的增删改查功能,通过访问 /user/list 来查看所有用户信息,访问 /user/add 来添加新用户,访问 /user/edit/{id} 来编辑指定用户,访问 /user/delete/{id} 来删除指定用户。同时,我们使用了 JPA 进行持久化操作,将实体类映射到了数据库表中。
阅读全文