FreeMarker一般的使用方式、SpringBoot + Web + FreeMarker的使用方式

聲明一:文章不是關鍵,關鍵是放在本文末尾的FreeMarker測試項目鏈接,建議讀者下載測試項目(測
               試代碼已寫好)運行,自己進行測試理解

聲明二:本文以純圖片的形式簡單介紹FreeMarker的使用,具體文字版測試示例項目可去本文末下載。


        FreeMarker是一款模板引擎:即一種基於模板和要改變的數據,並用來生成輸出文本(HTML網頁、電子郵件、配置文件、源代碼等)的通用工具。

FreeMarker功能是

注:雖然模板文件可以是任意後綴名的文件,但是我們一般都約定俗成的將模板文件後綴名改爲ftl;這樣一來,任何
       人一看就知道誰是FreeMarker的模板文件。

注:傳入的數據必須要有一個key才行,FreeMarker模板語言以該key爲根,並按照其一定的表達式語言,定位到根下的
       各個節點,從而取出相應的數據。
       追注:可類比JSP進行理解

FreeMarker一般的使用方式

模板文件(normal.ftl)是這樣的:

代碼是這樣的:

提示:上述代碼需要引入FreeMarker的Jar包。

結果文件(normal.html)是這樣的:


SpringBoot整合FreeMarker

第一步在pom.xml中引入相關的依賴。

注:這裏引入spring-boot-starter-freemarker纔是關鍵;其餘依賴都可以不引入;不過考慮到在接下來會給一個使用示
       例,所以還引入了web支持、快速快發lombok、熱部署devtools;當然,test是基本依賴。

第二步編輯系統配置文件application.properties,指定以什麼後綴名的文件作爲模板、指定在哪個文件夾下去找模板文件。

注:更多配置可詳見源碼或查閱相關文檔。


SpringBoot通過WEB使用FreeMarker的方式

關鍵點說明:

  • 給控制層方法額外加一個SpringMVC數據處理模型(Model或ModelMap或Map)
    注:對於那些請求本身就帶有參數的方法,只需要額外加數據處理模型即可,不影響原參數的獲取。

  • 方法返回值爲String,返回模板文件(相對於spring.freemarker.template-loader-path參數指定的文件夾)的文件名路徑(不要後綴)

無參請求的使用方式如

模板位置在:

使用方式,如:

注:將模板model_test.ftl所需的數據放入Model或ModelMap或Map中即可。

有參請求的使用方式如

模板位置在:

使用方式,如:

注:數據處理模型Model、ModelMap、Map任選其一即可,上圖中是以Model示例的。


FreeMarker常用語法(放大圖片看)

提示:更多用法可瀏覽官網。

 

筆者寄語

希望讀者根據以下鏈接,下載項目,自己運行項目進行理解,這裏先說明一下項目結構:

 

^_^ 如有不當之處,歡迎指正

^_^ 參考鏈接
              
 http://freemarker.foofun.cn/ref_directive_if.html

^_^ 測試代碼託管鏈接 
               
https://github.com/JustryDeng/CommonRepository

^_^ 本文已經被收錄進《程序員成長筆記(五)》,筆者JustryDeng

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章