1. 程式人生 > >Spring Boot (Web 篇):整合FreeMarker模板

Spring Boot (Web 篇):整合FreeMarker模板

目錄

前言

工作原理​

在pom.xml加入相關依賴

配置application.properties

Controller層

FreeMarker頁面

專案啟動

第一種方式,SpringBoot直接啟動(內建整合tomcat)

瀏覽器訪問

第二種方式,打包成部署的 war 包(外接tomcat)

在pom.xml加入相關依賴

配置啟動項

在pom.xml加入相關依賴

新增外接 tomcat

Maven打包

瀏覽器訪問

總結

原始碼下載


前言

FreeMarker 是一款 模板引擎

即一種基於模板和要改變的資料, 並用來生成輸出文字(HTML網頁,電子郵件,配置檔案,原始碼等)的通用工具。

它不是面向終端使用者的,而是一個Java類庫,是一款程式設計師可以嵌入他們所開發產品的元件。

FreeMarker最初設計是用來在MVC模式的Web開發中生成HTML頁面的,所以沒有繫結Servlet或任意Web相關的東西上,所以它可以執行在非Web應用環境中。

工作原理

FreeMarker模板儲存在伺服器上,當有使用者訪問的時候,FreeMarker會查詢出相應的資料,替換模板中的標籤,生成最終的HTML返回給使用者,如下圖:

在pom.xml加入相關依賴

預設情況下需要引入:

配置application.properties

上述配置false都是預設值。

Controller層

FreeMarker頁面

在main\resources\templates 目錄下 新建 index.ftl 檔案,內容為:

專案啟動

第一種方式,SpringBoot直接啟動(內建整合tomcat)

瀏覽器訪問

在瀏覽器直接輸入:http://localhost:8080/index/helloFreeMarker

第二種方式,打包成部署的 war 包(外接tomcat)

在pom.xml加入相關依賴

在這裡需要移除對嵌入式Tomcat的依賴,這樣打出的war包中,在lib目錄下才不會包含Tomcat相關的jar包,否則將會出現啟動錯誤。

配置啟動項

讓 SpringbootApplication 類繼承 SpringBootServletInitializer 並重寫 configure 方法,如下:

在pom.xml加入相關依賴

修改 pom.xml 檔案,將 jar 改成 war,如下:

新增外接 tomcat

Maven打包

當然,如果對於yml,xml,properties等 類似於 配置的檔案,每次有改動都要重新打包,對於clean是為了清除快取,

٩(๑>◡<๑)۶ 對於我,還是比較喜歡SpringBoot方式啟動,雞肋~

打包成功後,一般會在專案中target中預設存放:

將 war 包部署到 tomcat 容器中執行即可。

瀏覽器訪問

在瀏覽器直接輸入:http://localhost:8080/index/helloFreeMarker

當然可以直接在tomcat配置首頁地址為:http://localhost:8080/index/helloFreeMarker

當然外接 tomcat 也可以選擇熱部署,類似於SpringBoot熱部署:https://blog.csdn.net/Soinice/article/details/82416043

配置完成後,啟動tomcat會自動開啟瀏覽器,並訪問配置的首頁

總結

我相信全網都找不到一篇有我這篇這麼詳細的介紹Spring Boot使用freemarker的文章。有很多人問我,為什麼我的很多文章這麼簡單易懂,我每次都是哭著回覆他們四個字:主題閱讀,天知道我參考了多少篇網上的文章,外加多少本相關書籍中關於這個章節的內容,反覆對比提煉,最後才產出對應的博文。說真的,我很羨慕你們在這個資訊爆炸的時代,剛好看到一篇自己要學習的技術的好文章,少走多少彎路。

原始碼下載

[相關示例完整程式碼]請獲取 相關分支哦:feature-20180910-web