Thymeleaf
简介:Thymeleaf是一个Java服务器端的模板引擎,Thymeleaf的主要目标让开发者已更优雅的方式使用模板引擎,Thymeleaf以html的形式存在,,它可以在服务器中运行也可以作为独立的静态页面运行,这样让前端开发和后端开发能够更加快速的协作。同时它可以与Spring框架进行集成,同时它也完美兼容目前的HTML5特性
spring-boot中使用
加依赖
1
2
3
4
5<!--添加thymeleaf模板引擎-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>在html标签头内加上
1
xmlns:th="http://www.thymeleaf.org"
因为thymeleaf会在内存中留下缓存,所以在spring-boot项目开发阶段需要将缓存暂时关闭,在application.properties中设置spring.thymeleaf.cache=false关闭thymeleaf缓存
表达式
- 属性表达式:**${key或session.key或#session.getAttribute(key)或#servletContext.getAttribute(‘key’)}**
- 链接表达式:@{},解决了项目根路径的问题,自动补全项目根路径
- 文档表达式:~{页面 :: 片段名称}
- 选择表达式:*{}
属性
th:text
用在双标签的属性中,作用是替换标签之间的文本。结合属性表达式${}使用。可以通过[[${}]]取代th:text
1 |
|
th:href
结合链接表达式使用,自动补全项目根路径
1 |
|
th:src
结合链接表达式使用,自动补全项目根路径
1 |
|
th:action
结合链接表达式使用,自动补全项目根路径
1 |
|
th:replace
页面嵌套,替换掉原标签。可以结合文档表达式与th:fragment属性达到局部页面嵌套的目的
- th:insert:页面嵌套,保留了原页面标签
1 |
|
th:fragment
结合文档表达式使用,用来实现局部页面嵌套
1 |
|
th:object
结合选择表达式使用。声明局部对象,选择表达式取得对象中属性值
1 |
|
th:each
结合属性表达式使用,遍历集合数据
1 |
|
th:if
结合属性表达式使用,判断数据是否满足条件