-
什么是模版引擎?
模板引擎是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。
-
Thymeleaf介绍
-
Thymeleaf是适用于Web和独立环境的现代服务器端Java模板引擎。
-
Thymeleaf的主要目标是为您的开发工作流程带来优雅的自然模板 -HTML可以在浏览器中正确显示,也可以作为静态原型工作,从而可以在开发团队中加强协作。
-
动静结合:页面采用模板+数据的方式,在前端美工手中,可以展示静态页面。在后台开发人员手中,也可以展示数据返回到页面后的界面。
-
开箱即用:它提供标准和spring标准两种方言,可以直接套用模板实现JSTL、 OGNL表达式效果。
-
多方言支持:Thymeleaf 提供spring标准方言和一个与 SpringMVC 完美集成的可选模块,可以快速的实现表单绑定、属性编辑器、国际化等功能。
-
与SpringBoot完美整合:SpringBoot提供了Thymeleaf的默认配置,并且为Thymeleaf设置了视图解析器,我们可以像以前操作jsp一样来操作Thymeleaf。
-
-
Thymeleaf的使用
- 添加依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
- 添加配置
spring.thymeleaf.cache=false
-
Thymeleaf的配置
#spring.thymeleaf.cache = true #启用模板缓存。 #spring.thymeleaf.check-template = true #在呈现模板之前检查模板是否存在。 #spring.thymeleaf.check-template-location = true #检查模板位置是否存在。 #spring.thymeleaf.content-type = text / html #Content-Type值。 #spring.thymeleaf.enabled = true #启用MVC Thymeleaf视图分辨率。 #spring.thymeleaf.encoding = UTF-8 #模板编码。 #spring.thymeleaf.excluded-view-names = #应该从解决方案中排除的视图名称的逗号分隔列表。 #spring.thymeleaf.mode = HTML5 #应用于模板的模板模式。另请参见StandardTemplateModeHandlers。 #spring.thymeleaf.prefix = classpath:/ templates / #在构建URL时预先查看名称的前缀。 #spring.thymeleaf.suffix = .html #构建URL时附加到查看名称的后缀。 #spring.thymeleaf.template-resolver-order = #链中模板解析器的顺序。 #spring.thymeleaf.view-names = #可以解析的视图名称的逗号分隔列表。/ templates / #在构建URL时先查看名称的前缀。 #spring.thymeleaf.suffix = .html #构建URL时附加到查看名称的后缀。 #spring.thymeleaf.template-resolver-order = #链中模板解析器的顺序。 #spring.thymeleaf.view-names = #可以解析的视图名称的逗号分隔列表。/ templates / #在构建URL时先查看名称的前缀。 #spring.thymeleaf.suffix = .html #构建URL时附加到查看名称的后缀。 #spring.thymeleaf.template-resolver-order = #链中模板解析器的顺序。 #spring.thymeleaf.view-names = #可以解析的视图名称的逗号分隔列表。
-
th属性
-
th:text:文本替换;
-
th:utext:支持html的文本替换。
-
th:value:属性赋值
-
th:each:遍历循环元素
-
th:if:判断条件,类似的还有th:unless,th:switch,th:case
-
th:insert:代码块引入,类似的还有th:replace,th:include,常用于公共代码块提取的场景
-
th:fragment:定义代码块,方便被th:insert引用
-
th:object:声明变量,一般和*{}一起配合使用,达到偷懒的效果。
-
th:attr:设置标签属性,多个属性可以用逗号分隔
-
-
标准表达式语法
-
${...} 变量表达式,Variable Expressions
-
@{...} 链接表达式,Link URL Expressions
-
'#{...}' 消息表达式,Message Expressions
-
~{...} 代码块表达式,Fragment Expressions
-
*{...} 选择变量表达式,Selection Variable Expressions
-