一、引入
使用Thymeleaf首先需引入命名空間
頭部加
<html xmlns:th="http://www.thymeleaf.org">
二珍语、基本使用方法
1.引用web靜態(tài)資源
Thymeleaf通過”@{}”來引用web靜態(tài)資源,例:
<script th:src="@{bootstrap/js/boostrap.min.js}"></script>
上下文相關(guān)URL
<a th:href="@{/order/list}">
如果應(yīng)用程序訪問URL為:http://localhost:8080/myapp,則此URL將輸出:
<a href="/myapp/order/list">
與服務(wù)器相關(guān)URL
服務(wù)器相關(guān)的URL與上下文相關(guān)的URL非常相似腌紧,只是它們不假定URL要鏈接到應(yīng)用程序上下文中的資源,因此允許鏈接到同一服務(wù)器中的不同上下文:
<a th:href="@{~/billing-app/showDetails.html}">
當(dāng)前應(yīng)用程序的上下文將被忽略夜涕,因此盡管應(yīng)用程序部署在http:// localhost:8080 / myapp犯犁,但該URL將輸出:
<a href="/billing-app/showDetails.html">
協(xié)議相關(guān)URL
與協(xié)議相關(guān)的URL實(shí)際上是絕對(duì)的URL,它將保持用于顯示當(dāng)前頁(yè)面的協(xié)議(HTTP女器,HTTPS)酸役。 它們通常用于包括樣式,腳本等外部資源:
<script th:src="@{//scriptserver.example.net/myscript.js}">...</script>
它將呈現(xiàn)與上面一致的URL(URL重寫除外)驾胆,如:
<script src="http://scriptserver.example.net/myscript.js">...</script>
添加參數(shù)
<a th:href="@{/order/details(id=3)}">
上面示例代碼涣澡,最終將輸出為:
<a href="/order/details?id=3">
也可以添加幾個(gè)參數(shù),用逗號(hào)分隔它們:
<a th:href="@{/order/details(id=3,action='show_all')}">
上面代碼將輸出結(jié)果為:
<!-- 注意&符號(hào)在標(biāo)簽屬性中進(jìn)行HTML轉(zhuǎn)義... -->
<a href="/order/details?id=3&action=show_all">
2.訪問model模型中的數(shù)據(jù)丧诺,例如訪問一個(gè)user對(duì)象的name屬性
<span th:text="${user.name}"></span>
3.數(shù)據(jù)迭代
例如迭代一個(gè)userlist集合
<tr th:each="user : ${userlist}">
<td th:text="${user.name}">tyrone</td>
<td th:text="${user.age}">18</td>
</tr>
使用th:each做循環(huán)迭代暑塑,并使用${對(duì)象.屬性}來訪問具體的值
4.判斷
<tr th:if="${messages.empty}">
<td colspan="3">No messages</td>
</tr>
5.在Javascript中訪問model模型數(shù)據(jù)
<script th:inline="javascript">
var user = [[${user}]]
console.log(user.name + "\t" + user.age);
</script>