一、Thymeleaf 的概念和用法
1.Thymeleaf 介绍
Thymeleaf 是用于 Web 和独立环境的现代服务器端 Java 模板引擎。Thymeleaf 能处理HTML、XML、JavaScript、CSS,甚至是纯文本,类似 JSP 和 Freemarker。
Thymeleaf 的主要目标是为开发工作流程带来优雅的自然模板 —— HTML可以在浏览器中正确显示,并且可以作为静态原型,从而在开发团队中实现更强大的协作。用 Thymeleaf 编写的 HTML 模板仍然像 HTML 一样工作,让应用程序中运行的实际模板继续作为有用的设计工件工作。
通过借助 Spring Framework 的模块,与工具一起集成到主机,以及插入自己的功能的能力,Thymeleaf 是现代 HTML5,JVM,Web 开发的理想选择——尽管它可以做的更多。
2.Thymeleaf 标准方言
- 使用Spring表达式语言(Spring EL或SpEL)作为变量表达式语言,而不是OGNL。 因此,所有$ {...}和* {...}表达式都将通过Spring的表达式语言引擎进行评估。 还要注意支持Spring EL编译器(Spring 4.2.4+)。
- 使用SpringEL的语法访问应用程序上下文中的任何bean:
$ {@myBean.doSomething()} - 表单处理的新属性:th:field,th:errors 和 th:errorclass,除此以外 th:object 的一个新实现,允许它用于表单命令选择。
- 表达式对象和方法,#themes.code(...),它相当于spring:theme JSP 自定义标记。
- 表达式对象和方法#mvc.uri(...),它等同于spring:mvcUrl(...)JSP自定义函数(仅在Spring 4.1 +中)。
二、Thymeleaf 与 Spring Boot 集成
- 修改 build.gradle(项目基于Gradle构建,maven构建的工程也引入相关依赖即可)
// 引入依赖
dependencies {
...
// 添加 Thymeleaf 依赖关系
compile('org.springframework.boot:spring-boot-starter-thymeleaf')
...
}
buildscript {
...
// 定义版本号
ext['thymeleaf.version'] = '3.0.3.RELEASE'
ext['thymeleaf-layout-dialect.version'] = '2.2.0'
...
}