在 Spring Boot 项目中,如果需要服务端渲染页面(非纯前后端分离),Thymeleaf 是目前最推荐的模板引擎。它取代了传统的 JSP,不仅更安全、更灵活,还极大提升了开发体验。
为什么选择 Thymeleaf?
官方对 Thymeleaf 的定义是:
“适用于 Web 和独立环境的现代服务器端 Java 模板引擎,目标是提供‘自然模板’——即 HTML 文件既能被浏览器直接打开查看静态效果,也能在服务端动态填充数据。”
这句话很关键,翻译成人话就是:
✅ 前端写完页面,不用等后端,自己双击 .html 就能在浏览器里看到样式和布局;
✅ 后端启动服务后,同样的页面自动变成动态内容,展示数据库里的真实数据。
举个例子:
<h2 class="ui center aligned header" th:text="${blog.title}">这是静态标题</h2>
- 静态模式(直接浏览器打开):显示“这是静态标题”;
- 动态模式(服务运行时):
th:text会把${blog.title}的值(比如“Spring Boot 入门指南”)替换掉原有文本。
浏览器会自动忽略 th:text 这类自定义属性(因为不是标准 HTML 属性),所以页面不会报错,依然能正常渲染——这就是“自然模板”的魅力。
快速集成到 Spring Boot
1. 添加依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
2. HTML 页面声明命名空间(可选但推荐)
在 <html> 标签中加入:
<html xmlns:th="http://www.thymeleaf.org">
这样 IDE 能提供更好的语法提示。
3. 关闭缓存(开发阶段必须!)
Thymeleaf 默认开启模板缓存以提升性能,但在开发时会导致页面修改不生效。
在 application.yml 中关闭:
spring: thymeleaf: cache: false
💡 生产环境建议重新开启缓存以提高性能。