Когда My Spring Controller получает значения параметров с запятыми в нем, Spring рассматривает его как массив параметров. Кто-нибудь сталкивался с такой проблемой? Образец фрагмента для воспроизведения проблемы.
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¶m=jim2%2Cjohn2&name=chk&value=fine - Работа
Итак, как правильно обрабатывать привязку данных, когда один параметр присутствует и содержит запятые. Может кто-нибудь помочь решить эту проблему .
Спасибо,
Пол