1. 概述
在这个简短教程中,我们将展示如何在Thymeleaf视图中获取URL属性。
2. 如何获取URL参数属性
在Thymeleaf视图中访问URL属性或请求参数可以通过两种特殊的Thymeleaf对象轻松实现。第一种是使用param
对象,第二种是使用#request
对象。
以一个包含一个参数query
的URL为例进行演示:
https://baeldung.com/search?query=Baeldung
2.1. 使用param
对象
首先,让我们看看如何使用param
对象来访问URL属性“query”:
<div th:if="${param.query != null}">
<p th:text="${param.query }"></p>
</div>
在这个例子中,如果参数“query”不为空,将显示其值。另外,需要注意URL属性可以是多值的。看一个带有多值属性的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')
。这个方法返回请求参数的字符串值,如果参数不存在则返回null
。
3. 总结
在这篇快速文章中,我们解释了如何在Thymeleaf视图中通过param
和#request
对象获取URL属性。如往常一样,代码片段可以在GitHub上找到。