Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 未按预期从URI提取Spring MVC@RequestParam值_Java_Spring_Spring Mvc - Fatal编程技术网

Java 未按预期从URI提取Spring MVC@RequestParam值

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

我想知道spring如何分割http请求的每个参数。 通过示例,我有以下方法定义:

@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