一、th:text屬性的基礎用法
th:text是在使用thymeleaf模板引擎時,綁定數據用的一個屬性,常用於動態輸出內容到HTML頁面。如下是基本用法:
<p th:text="${variable}">默認值</p>
其中${variable}表示一個表達式,通過引用Controller中的模型數據,可以動態地將模型中的變數輸出到頁面中。
二、th:text拼接字元串的方法
1.使用+拼接符號
我們可以使用+拼接符號拼接字元串,如下:
<div th:text="'Hello ' + ${name} + '!'"></div>
其中${name}是一個變數,拼接字元串的時候必須使用’ ‘號括起來,並且要在+號兩側加上空格,否則會被解析成數學運算符。
2.使用|拼接符號
我們還可以使用|拼接符號拼接字元串,如下:
<div th:text="|Hello ${name}! How are you doing?|"></div>
這種方法也需要在|兩側加上空格,其中${name}是一個變數,這個方法也可以在拼接時換行。
3.使用#{message}拼接符號
我們還可以使用#{message}拼接符號拼接需要國際化的語言,如下:
<div th:text="#{welcome.message(your.name)}"></div>
它將會從屬性文件中查找welcome.message的值,拼接字元串時會將your.name的值填充到佔位符中。
三、th:text拼接字元串的局限性
1.只能在文本中使用
使用th:text屬性拼接字元串時,必須在文本中使用,不能在屬性中使用。如下:
<a th:href="@{|/product/${product.id}|}" th:text="${product.name}"></a>
在a標籤的href屬性中使用了|拼接符號拼接了一個URL地址,但是在text屬性中仍然使用了變數渲染文本。
2.不支持大括弧
在拼接字元串時,大括弧不會被輸出,如下:
<div th:text="{ 'name':${user.name},'age':${user.age} }"></div>
在輸出{“name”:”Tom”,”age”:18}的時候,不會輸出大括弧,只會輸出配置大括弧內的內容。
四、th:text拼接字元串的高級使用
1.使用自定義方法
我們可以使用由自己編寫的java類和方法,通過thymeleaf中的工具類調用,實現更複雜的字元串拼接功能。
<div th:text="${@stringUtil.join(',',list)}"></div>
其中,@stringUtil為自定義工具類的類名,join()是該類中的方法名,參數為一個list集合和一個’,’分隔符。
2.使用下標和長度計算
我們還可以使用thymeleaf內置的工具類,通過下標和長度計算來實現更精細的字元串拼接。
<div th:text="${'Hello '+#arrays.get(nameArr,0)+'!'}"></div>
其中,#arrays是thymeleaf內置的工具類,get()方法用於獲取數組中指定下標的元素。
總結
通過本文的講解,我們學習了th:text拼接字元串的基本用法和高級用法。在實際開發中,字元串的拼接是一個非常常見的操作,通過th:text屬性的拼接方法,可以方便地將各種數據渲染為需要的字元串形式,為web應用的開發提供了更多的靈活性。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/190070.html