【问题标题】:How to get Query Parameter in Spring with Vaadin?如何使用 Vaadin 在 Spring 中获取查询参数?
【发布时间】:2018-12-06 11:19:36
【问题描述】:

我正在尝试从我的网址获取查询参数。网址如下所示:

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

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

request.getParameter("continue")

返回 null 所以我尝试读取整个查询字符串,但是

request.getQueryString()

只返回这个:

v-r=uidl&v-uiId=1

如何访问我的查询参数?

【问题讨论】:

    标签: java spring spring-boot servlets vaadin


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

      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

      里面还有其他有趣的东西

      【讨论】:

      • 我有一个问题,我需要自己调用该方法,因为 Vaadin。我不能使用 RequestMapping。是否有另一种可能实现这一目标?
      • 您可以将 Spring MVC 与 Vaadin 一起使用,但是如果在您的特定情况下您无法找到可以使用的一些注释(开箱即用 vaadin),我将在此共享链接评论:vaadin.com/directory/component/url-parameter-mapping
      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2019-07-25
        • 2022-01-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-14
        • 1970-01-01
        相关资源
        最近更新 更多