导包
使用thymeleaf需要导入一个staer包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
配置
thymeleaf默认开启缓存,需要关闭.
spring.thymeleaf.cache=false
编写404和500页面
thymeleaf如果遇到404和500页面,会在templates目录下寻找404.html和500.html。
提前编写好,给用户好的体验
提示:如果页面会用到thymeleaf的相关语法,需要在html标签中添加约束。
以404.html为例子,500.html同理
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
这是一个404页面
</body>
</html>
编写user和list页面
编写两个正常的页面提供访问,需要放在templants目录下。
list.html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<html lang="en">
<head>
<meta charset="UTF-8">
<title>博主信息</title>
</head>
<body>
<form action="" th:each="user : ${list}" >
用户编号:<input name="id" th:value="${user.id}"/><br>
用户姓名:<input type="text" name="password" th:value="${user.name}"/><br>
登录密码:<input type="text" name="username" th:value="${user.getPassword()}"/>
</form>
</body>
</html>
user.html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<html lang="en">
<head>
<meta charset="UTF-8">
<title>博主信息</title>
</head>
<body>
<form action="" th:object="${user}" >
用户编号:<input name="id" th:value="${user.id}"/><br>
用户姓名:<input type="text" name="username" th:value="${user.getName()}" /><br>
登陆密码:<input type="text" name="password" th:value="*{password}" />
</form>
</body>
</html>
编写controller测试类
@Controller
@RequestMapping("/thymeleaf")
public class ThymeleafController {
@GetMapping("/test404")
public String test404(){
return "dsajklh";
}
@GetMapping("/test500")
public String test500(){
int i = 1/0;
return "index";
}
@GetMapping("/getUser")
public String getBlogger(Model model) {
User user = new User(1L, "qingtian", "123456");
model.addAttribute("user", user);
return "user";
}
@GetMapping("/getList")
public String getList(Model model) {
User user = new User(1L, "qingtian", "123456");
User user2 = new User(2L, "dadsa", "654321");
List<User> list = new ArrayList<>();
list.add(user);
list.add(user2);
model.addAttribute("list", list);
return "list";
}
}
测试
首先访问一个不存在的路径,接着访问/thymeleaf/test500页面,观察页面是否跳转我们准备好的404页面和500页面
访问/thymeleaf/getUser和/thymeleaf/getList,观察页面跳转和thymeleaf语法是否生效!