SpringMVC数据绑定是一个很好的东西,在数据绑定的时候一定要主意Controller方法中的参数名和jsp页面里的参数名字是否一致或者按照绑定的规范来写,如果不一致,可能报如下错误:
The request sent by the client was syntactically incorrect.
从字面上理解是:客户端发送的请求语法错误。实际就是springmvc无法实现数据绑定。
随便举个例子说明:
public String saveOrder(String[] itemIds, @RequestParam("level")String[] levels,
ModelMap modelMap)
这里面的itemIds就一定要和jsp页面里的参数名字相同;如果你非要命名不相同要像levels的写法那样通过@RequestParam来转换,其中括号里面的level是jsp页面里面的参数名字,levels是在controller方法中要用到的名字;如果jsp页面中没有itemIds和level任何一个参数,也会报相同的错误,就是因为springmvc无法实现数据的绑定。因此,如果不能保证存在”level”的参数,必须使用:@RequestParam(value = "level", required = false)
来源:oschina
链接:https://my.oschina.net/u/1588502/blog/224836