Thymeleaf模板是一个流行的模板引擎,该模板引擎采用Java语言开发;
模板引擎是一个技术名词,是跨领域跨平台的概念,在Java语言体系下有模板引擎,在c#.php语言体系下也有模板引擎,甚至在JavaScript中也会用到模板引擎技术;
Java生态下的模板引擎有Thymeleaf、Freemarker、Velocity、Beetl(国产)等;
Thymeleaf模板既能用于web环境下,也能用于非web环境下,在非web环境下,它能直接显示模版上的静态数据,在web环境下,它能直接显示模版上的静态数据,在web环境下,它能像JSP一样从后台接收数据并替换掉模板上的静态数据;
Thymeleaf它是基于HTML的,以HTML标签位载体,Thymeleaf要寄托在HTML的标签下实现对数据的展示;
Thymeleaf的官方网站:http://www.thymeleaf.org;
springboot集成了Thymeleaf模版技术,并且springboot官方也推荐使用Thymeleaf;
集成Thymeleaf:
第一步:在maven中引入Thymeleaf的依赖,加入以下依赖配置即可:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
第二步:在spring boot的核心配置文件application.properties中对Thymeleaf进行配置
#开发阶段,建议关闭thymeleaf的缓存
spring.thymeleaf.cache=false
#使用遗留的html5以去掉html标签的校验
spring.thymeleaf.mode=LEGACYHTML5
在使用springboot的过程中,如果使用thymeleaf作为模版文件,则要求html格式必须位严格的html5格式,必须有结束标签,否则会报错;
如果不想对标签进行严格认证,使用spring.thymeleaf.mode=LEGACYHTML5去掉验证去掉验证需要引入下面的依赖,否则会报错:
<dependency>
<groupId>net.sourceforge.nekohtml</groupId>
<artifactId>nekohtml</artifactId>
</dependency>
<dependency>
<groupId>org.unbescape</groupId>
<artifactId>unbescape</artifactId>
<version>1.1.5.RELEASE</version>
</dependency>
spring1.5默认使用的是Thymeleaf2版本 ,spring2.0默认使用的是Thymeleaf3版本;
nekohtml是一个Java语言的HTML扫描器和标签补全器,这个解析器能够扫描HTML文件并“修正”html文档中的常见错误;
nekohtml能增补缺失的父元素、自动用结束标签关闭相应的元素,修复不匹配的内嵌元素标签等;
springboot使用Thymeleaf作为视图展示,约定将模板文件放置在src/main/resource/templates目录下,静态资源放置在 src/main/resource/static目录下,ht