入门
一 freemarker使用步骤
1 导入freemarker的相关依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
2 配置相关的配置
Spring
freemarker:
template-loader-path: classpath:/templates #配置ftl文件路径,配置了过后,以后的路径都是以该路径为根路径查找页面
cache: false #页面不加载缓存,即时更新,但是上线需要改为true
charset: UTF-8
content-type: text/html
expose-request-attributes: true
expose-session-attributes: true
request-context-attribute: request
suffix: .ftl
个人理解:在配置了这些配置过后,springboot默认使用freemarker模板,任何返回的字符串默认就是freemarker的url路径,并自动添加上后缀名ftl。
3 在配置的templates文件下创建.ftl文件
4 访问.ftl文件
比如访问templates文件下面的index.ftl就只需写index就行了,后缀在配置文件里面已经配置,根路径也有配置,所以直接访问文件名就可以了
二 thymeleaf(主推)
1 导入相关依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
2 配置相关配置文件
Spring:
thymeleaf:
prefix: classpath:/templates/
suffix: .html
mode: HTML5
encoding: UTF-8
content-type: text/html
cache: false
3 建立对应的模板存储文件夹
值得注意的是,这里创建了freemarker与thymeleaf两个文件进行区分,理论上可以同时使用两个模板,但是没有必要,选其中之一就行了。
问题:由于使用了两个模板,有点好奇springboot是如何判断使用那个模板的,难道是看返回路径下的文件是什么格式就采用什么方法吗?
还有就是需要注意的是使用thymeleaf定义模板文件的存放位置时需要在最后多添加一个 / ,而且它的属性名还叫prefix ,以下是指定同一模板文件路径的添加方式的区别(结果完全一样,但是配置方式有一点区别,注意属性名也不一样)。