【Spring Boot】thymeleaf模板引擎

发布于:2024-07-06 ⋅ 阅读:(28) ⋅ 点赞:(0)

一、概述

  • Thymeleaf是新一代Java模板引擎,支持HTML原型,可以直接被浏览器打开,此时浏览器会忽略未定义的Thymeleaf标签属性,展示Thymeleaf模板的静态页面效果。
  • 当在应用程序中运行时,它会动态地替换掉页面设置的标签属性,实现动静结合的效果。
  • Thymeleaf的主要目标是为开发工作流程带来优雅自然的模板,HTML可以在浏览器中正确显示,也可以作为静态原型工作,从而可以在开发团队中加强协作。

二、主要特点

  1. 动静结合
    • Thymeleaf既可以直接使用浏览器打开,查看页面的静态效果,也可以通过Web应用程序进行访问,查看动态页面效果。
  2. 开箱即用
    • Thymeleaf提供了Spring标准方言以及一个与Spring MVC完美集成的可选模块,可以快速地实现表单绑定、属性编辑器、国际化等功能。
  3. 多方言支持
    • 它提供了Thymeleaf标准和Spring标准两种方言,可以直接套用模板实现JSTL、OGNL表达式;必要时,开发人员也可以扩展和创建自定义的方言。
  4. 与SpringBoot完美整合
    • SpringBoot为Thymeleaf提供了默认配置,并且还为Thymeleaf设置了视图解析器,因此Thymeleaf可以与Spring Boot完美整合。
  5. 高兼容性和易扩展性
    • Thymeleaf易于与现有的Spring Framework集成,并且支持自定义方言和表达式的扩展,提供了灵活的模板开发能力。

三、基本用法

  1. 引入依赖
    • 在Spring Boot项目中,可以通过在pom.xml中添加spring-boot-starter-thymeleaf依赖来引入Thymeleaf。
  2. 配置
    • Spring Boot为Thymeleaf提供了默认配置,但开发者也可以根据需要调整配置,如模板位置、文件编码、缓存设置等。
  3. 编写模板
    • 使用HTML语法编写模板,并在需要动态替换内容的地方添加Thymeleaf的特定标签和表达式。
  4. 控制器
    • 在Spring MVC控制器中,通过返回模板名称和模型数据来渲染页面。

四、常用表达式和标签

  1. 变量表达式${...},用于获取对象的属性和方法。
  2. 选择变量表达式*{...},与${...}类似,但需要先通过th:object指定对象。
  3. 链接表达式@{...},用于处理URL,支持路径变量的动态替换。
  4. 消息表达式#{...},用于从外部资源(如.properties文件)中获取国际化文本。
  5. 片段表达式~{...},用于模板间的片段包含和替换。

五、优势

  1. 自然模板:Thymeleaf允许开发者直接编写HTML模板,无需担心模板的破坏或额外的标记语言。
  2. 高性能:Thymeleaf在性能上进行了优化,特别是在处理大型模板和复杂页面时。
  3. 丰富的文档和社区支持:Thymeleaf拥有详尽的官方文档和活跃的开发者社区,方便用户解决问题和学习新技能。

网站公告

今日签到

点亮在社区的每一天
去签到