您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關如何在SpringBoot+Freemarker中獲取項目根目錄的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
好多人 都說:
在配置文件中加入
spring.freemarker.request-context-attribute=request
在頁面就可以
<#assign ctx=request.contextPath />
但是發現前臺依然為 null(可能是我的配置有問題)
后來發現可以這樣使用
<#assign ctx=springMacroRequestContext.contextPath />
不需要多余的配置
(1)SpringMVC中當我們想解析jsp視圖的時候需要在spring.xml中有如下的配置
向我們提供了freemark模板模板引擎來解析視圖
1.在SpringBoot中如果我們沒進行任何配置那么我們只需要在resources目錄下創建一個templates文件夾舉個例子。
(1).創建一個Controller類返回名稱為first的視圖
(2).在resource目錄下創建一個名為first.ftl的文件(SpringBoot默認解析文件類型為ftl的文件)
(3)first.ftl中的內容
(4)請求結果
從上面的結果可以看出freemark為我們完成了視圖解析
有兩種方式
第一種方式:
1.在resource目錄下創建一個application.properties文件,SpringBoot在啟動加載時會找到resource目錄下的
application.properties文件,代碼如下
(1)這里劃紅線的倆個點是需要注意的,對于suffix我們應該非常熟悉因為在之前配置jsp視圖解析器的時候就用到過,是視圖解析的文件類型(springboot中默認的解析文件類型是ftl,而我們將文件類型更改為fid格式)
(2)template-loader-parh也不難理解就是配置解析視圖的路徑
(3)目錄結構
2.application.properties配置完成后我們看一下效果
以上就是如何通過application.properties配置修改freemark返回路徑
第二種方式:
1.創建Java類繼承WebMvcConfigurerAdapter
代碼如下
目錄結構
運行結果
以上就是通過倆種方式配置freemark返回路徑
ps:在反復測試freemark返回路徑的過程中發現了很有意思的幾點感興趣的可以深入研究一下
(1)springboot如果沒配置application.properties文件或者沒創建工作類的時候我們都知道默認返回ftl格式文件,但是如果我們通過工具類改變freemark路徑我們會發現,雖然我們配置了返回fap類型的文件,但是當我們把fap改成ftl文件之后,freemark仍然可以解析
(2)通過application.properties文件改變freemark返回路徑的話,只能解析application.properties設置的文件類型,ftl是無效的
(3)如果同時加載application.properties文件和工具類的話,工具類的權重比較高,freemark會返回工具類中的配置,但是在第一點我說過如果光使用工具類的話freemark是可以返回ftl格式文件的,但是如果application.properties文件和工具類都進行啟動的話ftl就無效了
感謝各位的閱讀!關于“如何在SpringBoot+Freemarker中獲取項目根目錄”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。