一、介紹
th:block
是Thymeleaf中一個非常有用的標籤,它允許您在模板中添加無意義的塊級元素,用於組織模板中的展示元素的結構,同時不需要在生成的頁面中添加額外的內容。
另外,th:block
還提供了一些屬性,例如th:each
,th:if
等,可以靈活地用於生成模板中的動態元素。
二、用法
使用th:block
和其他Thymeleaf標籤相同,可以在開發環境中實時預覽效果。它可以用於創建多個塊級元素,例如:
<th:block>
<div>div元素</div>
<p>p元素</p>
</th:block>
以上代碼會在生成的HTML頁面中包含兩個塊級元素。
三、th:each屬性
使用th:each
屬性可以進行循環渲染。以下示例中,我們生成了一個簡單的商品列表:
<th:block th:each="product : ${products}">
<div class="product">
<span th:text="${product.name}"></span>
<span th:text="${product.price}"></span>
</div>
</th:block>
以上代碼將在頁面中渲染包含商品名稱和價格的元素,其數量取決於products
的大小。
四、th:if屬性
使用th:if
屬性可以根據某些條件動態地渲染元素,以下示例中,我們只渲染價格小於20的商品:
<th:block th:each="product : ${products}">
<div class="product" th:if="${product.price < 20}">
<span th:text="${product.name}"></span>
<span th:text="${product.price}"></span>
</div>
</th:block>
以上代碼僅在商品價格小於20時渲染,即不滿足條件時不會在頁面中生成對應的元素。
五、th:fragment屬性
使用th:fragment
屬性可以定義通用的片段內容,以便在不同的頁面中多次使用。
以下示例中,我們定義了一個名為header
的片段,用於在多個頁面中顯示相同的標題內容:
<th:block th:fragment="header">
<h1>My Website</h1>
</th:block>
在其他頁面中,只需使用th:replace
屬性引用該片段即可:
<th:block th:replace="fragments/header::header">
</th:block>
以上代碼在當前位置引用了header
片段,並且保留了片段本身的全部結構和組成元素。
六、總結
在Thymeleaf中,th:block
是一個非常有用的標籤,它可以幫助我們快速定位頁面中的組成結構,並且可以和其他常見的Thymeleaf標籤(如th:each
和th:if
)等靈活地組合使用,幫助我們快速開發出需要的模板。
原創文章,作者:QWSM,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/147908.html