Spring Boot中可以支持前后端分离开发,这个时候就不需要后端页面模板,当然,Spring Boot中也支持直接页面模板,早期的Spring Boot中还支持使用Velocity作用页面模板,现在的Spring Boot已经不支持使用Velocity了,页面模板主要支持Thymeleaf和Freemarker,当然,作为Java最基本的页面模板Jsp,Spring Boot也是支持的,只是使用比较麻烦。
1、整合Thymeleaf
官网:https://www.thymeleaf.org/
相对于Freemarker、Jsp而言,Thymeleaf是一个非常新的页面模板,通常我们称之为前端页面模板因为Thymeleaf模板的后缀是html,不同于Freemarker、Jsp这一类必须服务端解析之后才能显示出来的页面模板,Thymeleay不需要经过服务端解析就能够显示出来。
由于Thymeleaf可以直接被浏览器打开,因此,预览时非常方便。
1.2 整合步骤
Spring Boot中整合Thymeleaf非常容易,只需要创建项目时添加Thymeleaf依赖即可。
创建完成后,pom.xml依赖如下:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
当然Thymeleaf不仅仅能在Spring Boot中使用,也可以使用在其他地方,只不过Spring Boot针对Thymeleaf提供了一整套的配置方案,配置类在org.springframework.boot.autoconfigure.thymeleaf.ThymeleafProperties中。
这个类首先上面加了一个@ConfigurationProperties注解(Spring Boot中的类型安全的属性注入),将application.properties中前缀是spring.thymeleaf的配置和这个类中的属性绑定。(不会绑定在以下的static属性中)
这三个static变量定义了默认的编码格式,视图解析器的前缀、后缀等。
从前三行配置中可以看出来,Thymeleaf模板的默认位置