如何使用 Vaadin 获取 Spring 中的查询参数?

How to get Query Parameter in Spring with Vaadin?

我正在尝试从我的 url 获取查询参数。 url 看起来像这样:

http://localhost:1001/login?continue=/teams

当我尝试获取 continue 参数时,我得到了 null。

request.getParameter("continue")

returns null 所以我试图读取整个查询字符串但是

request.getQueryString()

returns只有这个:

v-r=uidl&v-uiId=1

如何访问我的查询参数?

Spring 使您能够使用 @RequestMapping 和 @RequestParam 来获取它们。

示例:http://localhost:8080/spring-rest/ex/bars?id=100

    @RequestMapping(value = "/ex/bars", method = GET)
@ResponseBody
public String getBarBySimplePathWithRequestParam(
  @RequestParam("id") long id) {
    return "Get a specific Bar with id=" + id;
}

在您的情况下,您必须添加 @RequestParam("continue") 注释。

您现在可以忽略@RequestBody 批注,但请确保您的控制器使用@RequestMapping 进行批注,并且您的方法的参数是@RequestParam..

我在以下站点中使用了这个示例:https://www.baeldung.com/spring-requestmapping

里面还有其他有趣的东西

如果你不想使用Spring MVC,你可以参考这个例子:

https://vaadin.com/directory/component/url-parameter-mapping

Vaadin 端有一些开箱即用的注释,可以帮助您达到目的。

似乎您可以在方法级别和 class 成员中使用 @UrlParameter。 因此,如果您的应用程序需要,您可以拥有更广泛的范围。

v-r=uidl&v-uiId=1 表示您正在查看的请求是由 Vaadin 的自动通信层发送的内部 XHR 请求。

有关如何从浏览器地址栏中显示的 URL 访问查询参数的详细信息,请参阅 https://vaadin.com/docs/v12/flow/routing/tutorial-router-url-parameters.html#query-parameters