基于JAVA+Springboot+Thymeleaf前后端分离项目:通用公司企业网站系统设计与实现
由于问题描述涉及的是一个完整的项目,我们无法提供所有代码。但是,我们可以提供一个简化的示例,说明如何在Spring Boot和Thymeleaf中创建一个简单的CRUD应用程序。
假设我们有一个User
实体和对应的简单CRUD操作:
// User实体
public class User {
private Long id;
private String name;
private String email;
// 省略getter和setter
}
// UserController
@Controller
@RequestMapping("/users")
public class UserController {
// 模拟服务层,实际开发中应该注入服务层的bean
private Map<Long, User> userRepository = new HashMap<>();
private AtomicLong idGenerator = new AtomicLong();
@GetMapping("/")
public String list(Model model) {
model.addAttribute("users", userRepository.values());
return "users/list";
}
@GetMapping("/new")
public String createForm(Model model) {
model.addAttribute("user", new User());
return "users/form";
}
@PostMapping("/")
public String save(User user) {
Long id = idGenerator.incrementAndGet();
user.setId(id);
userRepository.put(id, user);
return "redirect:/users/" + id;
}
@GetMapping("/{id}")
public String show(@PathVariable Long id, Model model) {
model.addAttribute("user", userRepository.get(id));
return "users/show";
}
@GetMapping("/{id}/edit")
public String edit(@PathVariable Long id, Model model) {
model.addAttribute("user", userRepository.get(id));
return "users/form";
}
@PutMapping("/{id}")
public String update(@PathVariable Long id, User user) {
user.setId(id);
userRepository.put(id, user);
return "redirect:/users/" + id;
}
@DeleteMapping("/{id}")
public String delete(@PathVariable Long id) {
userRepository.remove(id);
return "redirect:/users";
}
}
对应的Thymeleaf模板文件可能包括:
users/list.html
:
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>User List</title>
</head>
<body>
<h1>User List</h1>
<a href="/users/new">Add New User</a>
<ul>
<li th:each="user : ${users}">
<a th:href="@{/users/{id}(id=${user.id})}">
<span th:text="${user.name}"></span>
</a>
<!-- 省略删除和编辑链接 -->
</li>
</ul>
</body>
</html>
\`users/show.
评论已关闭