在Thymeleaf中获取URL属性值

2023/05/19

1. 概述

在这个简短的教程中,我们将阐明如何在Thymeleaf视图中获取URL属性。

2、如何获取URL参数属性

访问URL属性,或者我们所说的请求参数,可以使用两个特殊的Thymeleaf对象之一在Thymeleaf视图中轻松完成。第一种方式是使用param对象,第二种方式是使用#request对象。

出于演示目的,让我们考虑一个包含一个参数query的URL:

https://tuyucheng.com/search?query=Tuyucheng

2.1 使用param对象

首先,让我们看看如何使用param对象访问URL属性“query”:

<div th:if="${param.query != null}">
    <p th:text="${param.query }"></p>
</div>

在上面的示例中,如果参数“query”不为空,则将显示“query”的值。另外,我们应该注意URL属性可以是多值的。让我们看一个具有多值属性的示例URL:

https://tuyucheng.com/search?query=Tuyucheng&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. 总结

在这篇快速文章中,我们解释了如何使用param和#request对象在Thymeleaf视图中获取URL属性。

与往常一样,本教程的完整源代码可在GitHub上获得。

Show Disqus Comments

Post Directory

扫码关注公众号:Taketoday
发送 290992
即可立即永久解锁本站全部文章