Spring Boot 2.X 使用 Thymeleaf 模板引擎
在介绍 Thymeleaf 之前,首先要了解下 Spring Boot 怎么返回 String、resources/templates 和 resources/static 目录下的文件。
1. 返回 String
返回 String,用注解是 @RestController,它是由 @Controller 和 @ResponseBody 两个注解组合而成的。
例如:
@RestController
@RequestMapping("/rest/controller")
public class ReturnStringController {
@RequestMapping("/")
public String getIndex() {
return "restController";
}
@RequestMapping("/page")
public String getPage() {
return "restController page";
}
}
2. 返回 resources/templates 下的模板文件
返回模板,用的注解是 @Controller
3. 返回 resources/static 下的静态文件
返回静态文件最简单了,直接在 resources/static 添加文件即可
例如:新建一个 resources/static/public/test.html
然后在浏览器输入 localhost:8080/public/test.html 就可以访问该网页了。
@Controller 与 @RestController 的区别
在 POJO(普通Java对象,Plain Old Java Object)类定义处标注 @Controller,再通过 <content:component-scan /…> 扫描相应的类包,即可使 POJO 类成为一个能处理HTTP请求的控制器。
使用 @RequestMapping 后,返回值通常解析为跳转路径。
加上 @Responsebody 后,返回结果直接写入HTTP response body中,不会被解析为跳转路径。