spring boot 框架整合 thymeleaf
spring boot 的官方文档中建议开发者使用模板引擎,避免使用 JSP。因为若一定要使用 JSP 将无法使用。
注意:本文主要参考学习了大神程序员DD的博客。
附上,相应链接:http://blog.didispace.com/springbootweb/
关于 thymeleaf 模板引擎的介绍
同时,模板引擎默认的模板配置路径为:src/main/resources/templates
。
Spring Boot中使用Thymeleaf
引入依赖,并在默认的模板路径
src/main/resources/templates
下编写模板文件。
附上依赖:
1 2 3 4 5 | <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> <version> 1.4 . 3 .RELEASE</version> </dependency> |
直接在 Controller 中调用模板即可
1 2 3 4 5 6 7 8 9 10 | @Controller public class HelloController { @RequestMapping ( "/" ) public String index(ModelMap map) { // 加入一个属性,用来在模板中读取 map.addAttribute( "host" , "http://blog.didispace.com" ); // return模板文件的名称,对应src/main/resources/templates/index.html return "index" ; } } |
1 2 3 4 5 6 7 8 9 10 | <!DOCTYPE html> <html> <head lang= "en" > <meta charset= "UTF-8" /> <title></title> </head> <body> <h1 th:text= "${host}" >Hello World</h1> </body> </html> |
直接打开html页面展现Hello World,但是启动程序后,访问http://localhost:8080/
,则是展示Controller中host的值:http://blog.didispace.com
,做到了不破坏HTML自身内容的数据逻辑分离。
Thymeleaf的默认参数配置
如有需要修改默认配置的时候,只需复制下面要修改的属性到application.properties
中,并修改成需要的值,如修改模板文件的扩展名,修改默认的模板路径等。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # 是否开启模板缓存,默认 true spring.thymeleaf.cache= true # 检查模板位置是否存在 spring.thymeleaf.check-template-location= true # Content-Type value spring.thymeleaf.content-type=text/html # 是否启用MVC-Thymeleaf视图 spring.thymeleaf.enabled= true # 模板编码 spring.thymeleaf.encoding=UTF- 8 # 应该从解析中排除的视图名称列表(用逗号分隔) spring.thymeleaf.excluded-view-names= # 要应用于模板的模板模式。另请参见StandardTemplateModeHandlers。 spring.thymeleaf.mode=HTML5 # 在链接网址时预先查看名称的前缀。 spring.thymeleaf.prefix=classpath:/templates/ # 链接网址时附加到视图名称的后缀。 spring.thymeleaf.suffix=.html # 指定模板的解析顺序,默认为第一个. spring.thymeleaf.template-resolver-order= # 指定使用模板的视图名,多个以逗号分隔 spring.thymeleaf.view-names= |
SpringBoot配置属性系列
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具