Skip to main content
 首页 » 编程设计

spring-mvc之Spring MVC 可以处理多值查询参数吗

2024年08月06日12小虾米

有了这个http://myserver/find-by-phones?phone=123&phone=345请求,是否可以处理这样的事情:

@Controller 
public class Controller{ 
    @RequestMapping("/find-by-phones") 
    public String find(List<String> phones){ 
       ... 
    } 
} 

Spring MVC 能否将多值参数 phones 转换为 String 列表(或其他对象)?

谢谢。

亚历克斯

请您参考如下方法:

@RequestParam 中的“数组”用于绑定(bind)多个同名参数:

phone=val1&phone=val2&phone=val3 

-

public String method(@RequestParam(value="phone") String[] phoneArray){ 
    .... 
} 

然后您可以使用 Arrays.asList(..) 将其转换为列表方法

编辑1:

根据emdadul的建议,最新版本的spring也可以这样做:

public String method(@RequestParam(value="phone", required=false) List<String> phones){ 
    .... 
}