入門
一 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文件下創(chuàng)建.ftl文件
image.png
4 訪問.ftl文件
image.png
比如訪問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 建立對應的模板存儲文件夾
image.png
值得注意的是叶圃,這里創(chuàng)建了freemarker與thymeleaf兩個文件進行區(qū)分,理論上可以同時使用兩個模板践图,但是沒有必要掺冠,選其中之一就行了。
問題:由于使用了兩個模板,有點好奇springboot是如何判斷使用那個模板的德崭,難道是看返回路徑下的文件是什么格式就采用什么方法嗎斥黑?
還有就是需要注意的是使用thymeleaf定義模板文件的存放位置時需要在最后多添加一個 / ,而且它的屬性名還叫prefix 眉厨,以下是指定同一模板文件路徑的添加方式的區(qū)別(結果完全一樣锌奴,但是配置方式有一點區(qū)別,注意屬性名也不一樣)憾股。
image.png