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上找到