1. 概述
在本簡短教程中,我們將演示如何在 Thymeleaf 視圖中獲取 URL 屬性。
2. 如何獲取 URL 參數屬性
訪問 URL 屬性(或請求參數)可以通過 Thymeleaf 視圖中的兩種特殊 Thymeleaf 對象輕鬆完成。第一種方法是使用 param 對象,第二種方法是使用 #request 對象。
為了演示目的,我們考慮一個包含一個參數的 URL:query。
https://baeldung.com/search?query=Baeldung2.1. 使用 param 對象
首先,讓我們看看如何使用 param 對象來訪問 URL 屬性“query”:
<div th:if="${param.query != null}">
<p th:text="${param.query }"></p>
</div>在上述示例中,如果參數“query”不為null,則“query”的值將被顯示。此外,需要注意的是,URL屬性可以具有多個值。
https://baeldung.com/search?query=Bealdung&query=Thymleaf在這種情況下,我們可以使用方括號語法分別訪問這些值:
<div th:if="${param.query != null}">
<p th:text="${param.query[0] + ' ' + param.query[1]}" th:unless="${param.query == null}"></p>
</div>2.2. 使用 request 對象
接下來,讓我們看看訪問 URL 屬性的另一種方法。我們可以使用特殊的 `#request` 對象,它直接提供對 `javax.servlet.http.HttpServletRequest` 對象的訪問,該對象將請求分解為解析的元素,例如查詢屬性和頭部。
下面是如何在 Thymeleaf 視圖中使用 `#request` 對象的示例:
<div th:if="${#request.getParameter('query') != null}">
<p th:text="${#request.getParameter('query')}" th:unless="${#request.getParameter('query') == null}"></p>
</div>在上述示例中,我們使用了由#request對象提供的特殊函數getParameter(‘query’)。該方法返回請求參數的值,格式為String,如果參數不存在則返回null。
3. 結論
在本文中,我們解釋瞭如何使用 Thymeleaf 視圖中的 param 和 #request 對象獲取 URL 屬性。