您現在的位置是:首頁 > 藝術
Thymeleaf模板是什麼?
thyme是什麼意思啊
Thymeleaf 是一款用於渲染 XML/XHTML/HTML5 內容的模板引擎。它與 JSP,Velocity,FreeMaker 等模板引擎類似,也可以輕易地與 Spring MVC 等 Web 框架整合。與其它模板引擎相比,Thymeleaf 最大的特點是,即使不啟動 Web 應用,也可以直接在瀏覽器中開啟並正確顯示模板頁面 。
Thymeleaf 簡介
Thymeleaf 是新一代 Java 模板引擎,支援 HTML 原型,以直接被瀏覽器開啟,此時瀏覽器會忽略未定義的 Thymeleaf 標籤屬性,展示 thymeleaf 模板的靜態頁面效果。當在應用程式中會動態地替換掉頁面設定的標籤屬性。
Thymeleaf 的特點
動靜結合:Thymeleaf 既可以直接使用瀏覽器開啟,檢視頁面的靜態效果,也可以透過 Web 應用程式進行訪問,檢視動態頁面效果。
開箱即用:Thymeleaf 提供了 Spring 標準方言以及一個與 SpringMVC 完美整合的可選模組,可以快速地實現表單繫結、屬性編輯器、國際化等功能。
多方言支援:它提供了 Thymeleaf 標準和 Spring 標準兩種方言,可以直接套用模板實現 JSTL、 OGNL 表示式;必要時,開發人員也可以擴充套件和建立自定義的方言。
與 SpringBoot 完美整合:SpringBoot 為 Thymeleaf 提供了的預設配置,並且還為 Thymeleaf 設定了檢視解析器,因此 Thymeleaf 可以與 Spring Boot 完美整合。
Thymeleaf 透過在 html 標籤中,增加額外屬性來達到“模板+資料”的展示方式
IDEA新建立HTML檔案是這樣的:
要想
使用 Thymeleaf 之前,首先要在頁面的 html 標籤中宣告名稱空間,
可避免編輯器出現 html 驗證錯誤。
xmlns:th=“http://www。thymeleaf。org”
Thymeleaf 作為一種模板引擎,它擁有自己的語法規則。Thymeleaf 語法分為以下 2 類:
標準表示式語法
th 屬性
標準表示式語法
hymeleaf 模板引擎支援多種表示式:
變量表達式:${。。。}
選擇變量表達式:*{。。。}
連結表示式:@{。。。}
國際化表示式:#{。。。}
片段引用表示式:~{。。。}
變量表達式
這裡變量表達式和其他模板類似,可以使用
表示式具有以下功能:
獲取物件的屬性和方法
使用內建的基本物件,獲取內建物件的屬性,呼叫內建物件的方法。如上下文物件ctx,上下文語言環境locale,請求物件HttpServletRequest,響應物件HttpServletResponse等。
使用內建的工具物件,如字串工具物件,數字工具物件,日期工具物件等。
選擇變量表達式
變量表達式與 th:object 的配合使用。當使用 th:object 儲存一個物件後,我們可以在其後代中使用選擇變量表達式(*{。。。})獲取該物件中的屬性,其中,“*”即代表該物件。
連結表示式
連結都可以用連結表示式 (@{。。。}),連結表示式的形式結構如下: 無參請求:@{/xxx} 有參請求:@{/xxx(k1=v1,k2=v2)}。
國際化表示式
訊息表示式一般用於國際化的場景。
th:text=“#{message}”
片段引用表示式
片段引用表示式用於在模板頁面中引用其他的模板片段,該表示式支援以下 2 中語法結構:
推薦:~{templatename::fragmentname}
支援:~{templatename::#id}
templatename:模版名,fragmentname:片段名,Thymeleaf 透過 th:fragment 宣告定義程式碼塊,即:th:fragment=“fragmentname”。id:HTML 的 id 選擇器,使用時要在前面加上 # 號,不支援 class 選擇器。
我們可以
將公共頁面片段抽取出來,存放到一個獨立的頁面中,然後在其他頁面
使用片段表示式進行引用。
hymeleaf 在抽取和引入公共頁面片段時,還可以進行引數傳遞。
我們可以透過以下 2 種方式,將引數傳入到被引用的頁面片段中:
模板名::選擇器名或片段名(引數1=引數值1,引數2=引數值2)
模板名::選擇器名或片段名(引數值1,引數值2)
在使用引數時可以使用變量表達式使用這些引數。
th 屬性
Thymeleaf 還提供了大量的 th 屬性,這些屬性可以直接在 HTML 標籤中使用。
th屬性標籤還有很多,這裡只是用了一小部分,有興趣的可以在網上搜索一下。
想了解更多精彩內容,快來關注程式猿小董
推薦文章
- NBA5號球衣的著名球員,加內特基德在列,他手握7枚冠軍戒指
肯德里克·帕金斯帕金斯是曾經凱爾特人的冠軍中鋒,雖然職業生涯經過大傷,但是卻依舊寶刀未老,如今在雷霆隊擔任替補中鋒,是一個出色的板凳火力...
- 湖南臺又出大手筆,投2億合龍,硬挖出一條黃河,群演員心生畏懼
縱觀影視工業發展百年史,鮮有關注此題材的影視劇作品,從大禹治水,楚國孫叔敖,北宋范仲淹,再到劇中大清康熙年間陳潢、靳輔二人等,在中國時代變遷中,這些治河志士應該被世人所銘記,《天下長河》應此而生,立意鮮明深刻,其打造理想沃土的先輩工匠精神,...
- 開發商洩露購房人個人資訊,不止賠償這麼簡單
陳某提供的電話錄音證據證明其個人購房資訊系本案被上訴人洩露給裝飾、裝修公司,房地產開發商作為個人購房資訊的收集者、管理者和處理者,有義務保護客戶個人資訊...