Spring MVC数据绑定问题,带逗号的参数值

时间:2019-03-21 09:46:48

标签: spring spring-mvc data-binding spring-web

当我的Spring Controller收到带有逗号的参数值时,Spring会将其视为s参数数组。有人遇到这样的问题吗?示例代码片段可以重现问题。

  public class Pojo {
        List<String> param;

        public List<String> getParam() {
            return param;
        }

        public void setParam(List<String> param) {
            this.param = param;
        }
    }

@Controller
public class ParamController {

        @ModelAttribute("myPojo")
        public Pojo getPojo(){
            System.out.println("From :: myPojo");
            return new Pojo();
        }

        @RequestMapping(value={"/chk-param"})
        private String getOtherView(@ModelAttribute(name="myPojo") Pojo pojo,HttpServletRequest req){
            System.out.println(System.nanoTime()+"::From chk-param");
            System.out.println(System.nanoTime()+"::From chk-param Spring Params");
            for(String param: pojo.getParam()){
                System.out.println("Param::"+param);
            }
            System.out.println(System.nanoTime()+"::From chk-param ServletReq Params");
            for(String param: req.getParameterValues("param")){
                System.out.println("ServletReq Param::"+param);
            }
            return null;
        }
}

http://localhost:8080/paramchk/chk-param.html?param=jim2%2Cjohn2&name=chk&value=fine-不起作用

http://localhost:8080/paramchk/chk-param.html?param=paul&param=jim2%2Cjohn2&name=chk&value=fine-工作中

因此,当单个参数存在且包含逗号时,如何正确处理数据绑定。有人可以帮助解决此问题

谢谢, 保罗

0 个答案:

没有答案