Java 未按预期从URI提取Spring MVC@RequestParam值
我想知道spring如何分割http请求的每个参数。 通过示例,我有以下方法定义:Java 未按预期从URI提取Spring MVC@RequestParam值,java,spring,spring-mvc,Java,Spring,Spring Mvc,我想知道spring如何分割http请求的每个参数。 通过示例,我有以下方法定义: @RequestMapping(value = "/search.do", method = RequestMethod.GET) public String searchGet(ModelMap model, @RequestParam(value = "memberId", required = false) Integer memberId, @RequestParam(value = "m
@RequestMapping(value = "/search.do", method = RequestMethod.GET)
public String searchGet(ModelMap model,
@RequestParam(value = "memberId", required = false) Integer memberId,
@RequestParam(value = "member", required = false) String member) {...}
我使用这个url:
/search.do?member=T&O=
我得到member=T,而不是member=T&O=
请求参数仅限于memberId和member。
我可以配置spring来解决此问题吗?
&
用于分离请求参数。URL包含以下格式的请求参数名称和值
http://host_port_and_url?name1=value1&name2=value2&so_on
就你而言
/search.do?member=T&O=
名称->值成员->T
O->(无值-空白)
因此,您得到了正确的值查看控制器代码,您的URL应该是
/search.do?memberId=T&member=
然后将正确映射请求参数名称
如果您希望使用问题中提到的相同URL,请将控制器代码更改为:
public String searchGet(ModelMap model,
@RequestParam(value = "O", required = false) Integer memberId,
@RequestParam(value = "member", required = false) String member) {...}
URL中的某些字符具有特殊含义。如果它们应该是某个值的一部分,则需要对其进行转义 如果您的值为T&O=则需要将其更改为T%26O%3D