Spring Mvc的默认解析器,当http参数为string,且controller定义接收类型为array时,会用逗号分隔成数组。这就要求使用者要注意前后端交互中的逗号处理。
代码在 TypeConverterDelegate.convertIfNecessary
解决办法有三种
- 系统encode 逗号
- 系统在进行参数传递时,保证数组参数不单只有一个。比如 param1=value1¶m1=value2
- 自定义一个ArgumentResolver
参考资料
springmvc工作原理以及源码分析(基于spring3.1.0)
自定义Spring MVC3的参数映射和返回值映射 + fastjson
Spring MVC系列(五)之自定义数据绑定---HandlerMethodArgumentResolver