SpringBoot學習筆記之使用常用模板引擎渲染web視圖

編程語言 Velocity Java XML 小虎動物園 小虎動物園 2017-11-02

經過前幾天的學習,對spring boot 已經有了基本的瞭解,如何創建項目,如何連接數據庫進行CRUD操作都能實現,今天學習如何使用spring boot支持的模板引擎渲染web頁面。

首先介紹一下在spring boot中如何訪問靜態資源,進行web開發,靜態資源是必不可少的。Spring Boot默認提供靜態資源目錄位置需置於classpath下,目錄名需符合如下規則:

  • /static

  • /public

  • /resources

  • /META-INF/resources

其實項目剛創建完成的時候,ide就自動在java/main/resources/目錄下給我們創建了一個static文件夾,在這個裡面放我們常用的js、css、images就行

SpringBoot學習筆記之使用常用模板引擎渲染web視圖

這樣建好文件夾之後,可以往images文件夾中放入一張圖片,啟動項目,測試一下是否能訪問,路徑是://localhost:8080/images/XXX.png。

下面就介紹一下在spring boot中如何使用模板引擎渲染web頁面

Spring Boot提供了默認配置的模板引擎主要有以下幾種:

  • Thymeleaf

  • FreeMarker

  • Velocity

  • Groovy

  • Mustache

下面我將介紹一下如何使用這些模板引擎。

1.Thymeleaf:Thymeleaf是一個XML/XHTML/HTML5模板引擎,可用於Web與非Web環境中的應用開發。它是一個開源的Java庫,基於Apache License 2.0許可,由Daniel Fernández創建,該作者還是Java加密庫Jasypt的作者。Thymeleaf提供了一個用於整合Spring MVC的可選模塊,在應用開發中,你可以使用Thymeleaf來完全代替JSP或其他模板引擎,如Velocity、FreeMarker等。Thymeleaf的主要目標在於提供一種可被瀏覽器正確顯示的、格式良好的模板創建方式,因此也可以用作靜態建模。你可以使用它創建經過驗證的XML與HTML模板。相對於編寫邏輯或代碼,開發者只需將標籤屬性添加到模板中即可。

在pom中加入依賴

SpringBoot學習筆記之使用常用模板引擎渲染web視圖

新建一個html頁面

SpringBoot學習筆記之使用常用模板引擎渲染web視圖

在controller中傳參以及跳轉

SpringBoot學習筆記之使用常用模板引擎渲染web視圖

啟動項目,訪問這個頁面

SpringBoot學習筆記之使用常用模板引擎渲染web視圖

2.FreeMarker:即一種基於模板和要改變的數據,並用來生成輸出文本(HTML網頁、電子郵件、配置文件、源代碼等)的通用工具。它不是面向最終用戶的,而是一個Java類庫,是一款程序員可以嵌入他們所開發產品的組件。FreeMarker是免費的,基於Apache許可證2.0版本發佈。其模板編寫為FreeMarker Template Language(FTL),屬於簡單、專用的語言。需要準備數據在真實編程語言中來顯示,比如數據庫查詢和業務運算,之後模板顯示已經準備好的數據。在模板中,主要用於如何展現數據,而在模板之外注意於要展示什麼數據。

和Thymeleaf模板使用方法類似,首先引入依賴

SpringBoot學習筆記之使用常用模板引擎渲染web視圖

新建一個頁面:indexfree.ftl

SpringBoot學習筆記之使用常用模板引擎渲染web視圖

controller

SpringBoot學習筆記之使用常用模板引擎渲染web視圖

訪問

SpringBoot學習筆記之使用常用模板引擎渲染web視圖

3.Velocity:Velocity是一個基於java的模板引擎(template engine)。它允許任何人僅僅使用簡單的模板語言(template language)來引用由java代碼定義的對象。當Velocity應用於web開發時,界面設計人員可以和java程序開發人員同步開發一個遵循MVC架構的web站點,也就是說,頁面設計人員可以只關注頁面的顯示效果,而由java程序開發人員關注業務邏輯編碼。Velocity將java代碼從web頁面中分離出來,這樣為web站點的長期維護提供了便利,同時也為我們在JSP和PHP之外又提供了一種可選的方案。

首先還是引入依賴

SpringBoot學習筆記之使用常用模板引擎渲染web視圖

新建indexv.vm

SpringBoot學習筆記之使用常用模板引擎渲染web視圖

controller

SpringBoot學習筆記之使用常用模板引擎渲染web視圖

然後訪問,這時候如何你用的是1.5及以上的spring boot版本,可能會出現問題

SpringBoot學習筆記之使用常用模板引擎渲染web視圖

簡單查了一下原因,網上說springboot1.5和以上版本 已經完全拋棄了velocity視圖模板,所以會出現這個問題,作為測試,我將版本降到了1.4.7,啟動之後訪問正常,如果有需要1.5版本及以上版本使用這個模板,需要另外尋找解決辦法,在此就不做說明。

SpringBoot學習筆記之使用常用模板引擎渲染web視圖

以上簡單介紹了一下前三個模板引擎,Groovy和Mustache資料較少,目前還不會使用,有這方面資料的朋友希望可以分享學習一下。

SpringBoot學習筆記之使用常用模板引擎渲染web視圖

相關推薦

推薦中...