您現在的位置是:首頁 > 藝術

Thymeleaf模板是什麼?

由 程式猿小董 發表于 藝術2022-12-06
簡介Thymeleaf 語法分為以下 2 類:標準表示式語法th 屬性標準表示式語法hymeleaf 模板引擎支援多種表示式:變量表達式:${

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模板是什麼?

要想

使用 Thymeleaf 之前,首先要在頁面的 html 標籤中宣告名稱空間,

可避免編輯器出現 html 驗證錯誤。

xmlns:th=“http://www。thymeleaf。org”

Thymeleaf 作為一種模板引擎,它擁有自己的語法規則。Thymeleaf 語法分為以下 2 類:

標準表示式語法

th 屬性

標準表示式語法

hymeleaf 模板引擎支援多種表示式:

變量表達式:${。。。}

選擇變量表達式:*{。。。}

連結表示式:@{。。。}

國際化表示式:#{。。。}

片段引用表示式:~{。。。}

變量表達式

這裡變量表達式和其他模板類似,可以使用

表示式具有以下功能:

獲取物件的屬性和方法

使用內建的基本物件,獲取內建物件的屬性,呼叫內建物件的方法。如上下文物件ctx,上下文語言環境locale,請求物件HttpServletRequest,響應物件HttpServletResponse等。

使用內建的工具物件,如字串工具物件,數字工具物件,日期工具物件等。

選擇變量表達式

變量表達式與 th:object 的配合使用。當使用 th:object 儲存一個物件後,我們可以在其後代中使用選擇變量表達式(*{。。。})獲取該物件中的屬性,其中,“*”即代表該物件。

Thymeleaf模板是什麼?

連結表示式

連結都可以用連結表示式 (@{。。。}),連結表示式的形式結構如下: 無參請求:@{/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)

在使用引數時可以使用變量表達式使用這些引數。

Thymeleaf模板是什麼?

th 屬性

Thymeleaf 還提供了大量的 th 屬性,這些屬性可以直接在 HTML 標籤中使用。

Thymeleaf模板是什麼?

th屬性標籤還有很多,這裡只是用了一小部分,有興趣的可以在網上搜索一下。

想了解更多精彩內容,快來關注程式猿小董

推薦文章