总体两部分,第一部分springboot集成thymeleaf简单案例 第二部分问题,html无法加载出来,应对方法。
1.引入依赖 pom文件中
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
<version>2.2.0.RELEASE</version>
</dependency>
2.application.properties配置文件引入加载项
# 模板文件所在目录,默认为classpath:/templates/
spring.thymeleaf.prefix=classpath:/templates/
# 模板文件的后缀,默认为.html
spring.thymeleaf.suffix=.html
# 开启缓存,默认为true
spring.thymeleaf.cache=false
3.在resources下创建templates目录并新建页面index.html
这里注意的是模板文件目录要跟配置文件一致
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>SpringBoot&&Thymeleaf</title>
</head>
<body>
<h1>测试页面</h1>
<!--/*@thymesVar id="message" type=""*/-->
<p th:text="${message}"></p>
</body>
</html>
4.写一个controller
@Controller
@RequestMapping(path = "/thymeleaf")
public class thymeleafController {
@GetMapping(value = "/hello")
public String hello(Model model){
model.addAttribute("message","hello world");
return "index";
}
}
5.启动主的application类运行,访问http://localhost:8080/thymeleaf/hello即可
第二部分问题:
1.html这里会有红色提示线,根据提示增增加注解即可,可以忽略。
2.请求的时候找不到html文件,访问之后如下图所示
排查方法
- 首先确认是否导入thymeleaf依赖
- 确认自己写的.html为后缀的文件是否放到 resources/templates/文件夹下。
确认自己的Controller类要放在与 有@SpringBootApplication注解的启动类相同包或者子包下。
确认Controller类不能使用 @RestController 或者
@ResponseBody注解,否则会直接return该字符串,是return不到目标html的。