我正在尝试从我的网址中获取查询参数。网址看起来像这样:
http://localhost:1001/login?continue=/teams
当我尝试获取continue参数时,我得到的是空值。
request.getParameter("continue")
返回null,所以我尝试读取整个查询字符串,但是
request.getQueryString()
仅返回以下内容:
v-r=uidl&v-uiId=1
如何访问查询参数?
答案 0 :(得分: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
里面还有其他有趣的东西
答案 1 :(得分:1)
如果您不想使用Spring MVC,可以参考以下示例:
https://vaadin.com/directory/component/url-parameter-mapping
Vaadin侧面有一些开箱即用的注释,对您的目的有帮助。
似乎您可以在方法级别和作为类成员使用@UrlParameter
。
因此,如果您的应用程序需要它,您可以拥有更大的范围。
答案 2 :(得分:1)
v-r=uidl&v-uiId=1
表示您正在查看的请求是Vaadin的自动通信层发送的内部XHR请求。
有关如何从浏览器地址栏中显示的URL访问查询参数的详细信息,请参见https://vaadin.com/docs/v12/flow/routing/tutorial-router-url-parameters.html#query-parameters。