欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java模板引擎Thymeleaf基本語法詳解

 更新時(shí)間:2023年08月08日 09:04:06   作者:Cosolar  
當(dāng)開發(fā)Web應(yīng)用程序時(shí),我們通常需要使用模板引擎來構(gòu)建和呈現(xiàn)動(dòng)態(tài)內(nèi)容,Thymeleaf是一個(gè)功能強(qiáng)大的Java模板引擎,它提供了豐富的表達(dá)式和標(biāo)簽,使得數(shù)據(jù)綁定、條件判斷、循環(huán)迭代等操作變得輕松而靈活,本文就簡單的給大家介紹一下Thymeleaf基本語法

Thymeleaf在Java生態(tài)系統(tǒng)中非常受歡迎,并與Spring框架緊密集成。它具有豐富的擴(kuò)展和第三方庫,可以提供各種功能。Thymeleaf在服務(wù)器端生成HTML頁面,并將最終的結(jié)果發(fā)送給客戶端瀏覽器。頁面中的內(nèi)容在每次請(qǐng)求時(shí)都會(huì)由服務(wù)器動(dòng)態(tài)生成。和Vue這些不同,Vue在客戶端瀏覽器中動(dòng)態(tài)渲染頁面。它可以基于數(shù)據(jù)動(dòng)態(tài)地更新視圖,而無需每次請(qǐng)求都向服務(wù)器發(fā)送數(shù)據(jù)。

Thymeleaf 3.1.2.RELEASE is the latest version. It requires Java SE 8 or newer.

一、Thymeleaf 表達(dá)式語言的使用

Thymeleaf 表達(dá)式語言(簡稱為EL)是 Thymeleaf 強(qiáng)大功能的基礎(chǔ)之一,它使得在模板中可以輕松地插入和操作動(dòng)態(tài)數(shù)據(jù)。下面是幾個(gè)常用的 Thymeleaf 表達(dá)式:

  • 變量表達(dá)式:${variable}

    • 用于在模板中輸出變量的值。
    • 示例:<h1 th:text="${pageTitle}">Page Title</h1>
  • 選擇表達(dá)式:*{expression}

    • 用于從對(duì)象中選擇屬性或調(diào)用方法。
    • 示例:<p th:text="*{user.name}">Default Name</p>
  • 鏈接表達(dá)式:@{url}

    • 用于生成鏈接或動(dòng)態(tài) URL。支持相對(duì)路徑和絕對(duì)路徑。
    • 示例:<a th:href="@{/product/{id}(id=1)}">Product Details</a>
  • 消息表達(dá)式:#[code]

    • 用于國際化支持,根據(jù)當(dāng)前環(huán)境選擇合適的文本。
    • 示例:<span th:text="#{welcome.message}">Welcome!</span>
  • 內(nèi)聯(lián)表達(dá)式:[[...]]

    • 用于 JavaScript 代碼塊內(nèi)的 Thymeleaf 表達(dá)式。
    • 示例:<script th:inline="javascript"> var name = '[[${name}]]'; </script>

二、Thymeleaf 標(biāo)簽的基本用法

Thymeleaf 提供了一系列標(biāo)簽和屬性,使得開發(fā)者能夠更靈活地操作 HTML 元素。下面是一些常用的 Thymeleaf 標(biāo)簽:

  • th:text:用于設(shè)置元素的文本內(nèi)容。

    • 示例:<h1 th:text="${pageTitle}">Page Title</h1>
  • th:if 和 th:unless:用于條件判斷并渲染 HTML 元素。

    • 示例:<p th:if="${isUserLoggedIn}">Hello, User!</p>
    • 示例:<p th:unless="${isUserLoggedIn}">Please login to continue.</p>
  • th:each:用于循環(huán)遍歷集合或數(shù)組,并渲染 HTML 元素。

    • 示例:<ul><li th:each="item : ${items}" th:text="${item}"></li></ul>
  • th:href 和 th:src:用于設(shè)置鏈接地址和資源路徑。

    • 示例:<a th:href="@{/product/{id}(id=1)}">Product Details</a>
    • 示例:<img th:src="@{/images/myimage.jpg}" alt="My Image" />
  • th:attr:用于設(shè)置 HTML 元素的屬性。

    • 示例:<input type="text" th:attr="placeholder=#{username.placeholder}" />

三、在模板中使用屬性和變量

Thymeleaf 允許在模板中使用屬性和變量,以插入動(dòng)態(tài)數(shù)據(jù)。下面是幾個(gè)常見的用法:

  • 使用屬性:通過 HTML 元素的屬性來設(shè)置動(dòng)態(tài)值。

    • 示例:<h1 th:text="${pageTitle}">Page Title</h1>
  • 使用變量:使用 ${variable} 語法將變量的值插入到模板中。

    • 示例:<p th:text="${user.name}">Default Name</p>
  • 在元素內(nèi)部使用屬性和變量:可以在標(biāo)簽的內(nèi)容或?qū)傩灾抵惺褂帽磉_(dá)式語言。

    • 示例:<a th:href="@{/product/${productId}(productId=${product.id})}">Product Details</a>

通過 Thymeleaf 表達(dá)式語言和標(biāo)簽,您可以輕松地在模板中添加動(dòng)態(tài)數(shù)據(jù)和邏輯,并根據(jù)需要進(jìn)行條件判斷、循環(huán)遍歷等操作。 好的,下面我將為您提供示例來說明數(shù)據(jù)綁定、渲染和屬性綁定與條件判斷的用法。

四、在控制器中傳遞數(shù)據(jù)到模板

@Controller
public class MyController {
    @GetMapping("/hello")
    public String hello(Model model) {
        String message = "Hello, Thymeleaf!";
        model.addAttribute("message", message);
        return "hello-template";
    }
}

在這個(gè)示例中,控制器通過 Model 對(duì)象的 addAttribute 方法將數(shù)據(jù)(message)傳遞給模板。然后,控制器返回字符串 "hello-template",表示使用名為 hello-template 的 Thymeleaf 模板來進(jìn)行渲染。

1、使用 Thymeleaf 表達(dá)式渲染數(shù)據(jù)

<h1 th:text="${message}"></h1>

這個(gè)示例中,通過 ${message} 表達(dá)式可以在模板中渲染控制器傳遞過來的 message 數(shù)據(jù)。

2、屬性綁定和條件判斷

<p th:class="${status eq 'active'} ? 'active' : ''">Content</p>

這個(gè)示例中,根據(jù)條件 ${status eq 'active'} 判斷,如果條件成立,則給 <p> 元素添加 active 類;否則,不添加任何類。

我演示了數(shù)據(jù)綁定和渲染,以及屬性綁定和條件判斷的用法。您可以根據(jù)具體需求,在控制器中傳遞數(shù)據(jù)給模板,并使用 Thymeleaf 表達(dá)式根據(jù)數(shù)據(jù)進(jìn)行渲染和操作。請(qǐng)根據(jù)實(shí)際情況修改示例中的變量名和條件,以適應(yīng)您的應(yīng)用程序邏輯。

到此這篇關(guān)于Java模板引擎Thymeleaf基本語法詳解的文章就介紹到這了,更多相關(guān)Java Thymeleaf基本語法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java生成word文檔的示例詳解

    Java生成word文檔的示例詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用Java語言生成word文檔,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的小伙伴可以參考一下
    2022-12-12
  • SpringBoot整合ES高級(jí)查詢方式

    SpringBoot整合ES高級(jí)查詢方式

    這篇文章主要介紹了SpringBoot整合ES高級(jí)查詢方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • java多線程編程之使用runnable接口創(chuàng)建線程

    java多線程編程之使用runnable接口創(chuàng)建線程

    實(shí)現(xiàn)Runnable接口的類必須使用Thread類的實(shí)例才能創(chuàng)建線程,通過Runnable接口創(chuàng)建線程分為以下兩步
    2014-01-01
  • Vert.x運(yùn)行環(huán)境搭建流程圖解

    Vert.x運(yùn)行環(huán)境搭建流程圖解

    這篇文章主要介紹了Vert.x運(yùn)行環(huán)境搭建流程圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Java線程死鎖代碼詳解

    Java線程死鎖代碼詳解

    本篇文章主要介紹了Java線程死鎖代碼詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2021-11-11
  • SpringBoot整合RabbitMQ 手動(dòng)應(yīng)答(簡單demo)

    SpringBoot整合RabbitMQ 手動(dòng)應(yīng)答(簡單demo)

    這篇文章主要介紹了SpringBoot整合RabbitMQ 手動(dòng)應(yīng)答 簡單demo,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • 詳解SpringBoot中異步請(qǐng)求和異步調(diào)用(看完這一篇就夠了)

    詳解SpringBoot中異步請(qǐng)求和異步調(diào)用(看完這一篇就夠了)

    這篇文章主要介紹了SpringBoot中異步請(qǐng)求和異步調(diào)用問題,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • java連連看游戲菜單設(shè)計(jì)

    java連連看游戲菜單設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了java連連看游戲菜單部分的設(shè)計(jì)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • springboot升級(jí)Tomcat版本的方法示例

    springboot升級(jí)Tomcat版本的方法示例

    本文主要介紹了springboot升級(jí)Tomcat版本的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • JAVA用戶自定義事件監(jiān)聽實(shí)例代碼

    JAVA用戶自定義事件監(jiān)聽實(shí)例代碼

    這篇文章主要介紹了JAVA用戶自定義事件監(jiān)聽實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-04-04

最新評(píng)論