问题:
错误400-The request sent by the client was syntactically incorrect.
springMVC中,某个页面提交时报400错误,如下图。
解决方法:
1.在网上找了一下,答案是通常遇到这个错误是因为
前端jsp页面的控件名称和controller中接收的参数名称不一致
。但仔细对比了一遍发现没有问题。很郁闷。
2.然后就反复的提交那个页面进行测试,发现了问题,因为我是将多个参数作为一个实体传至controller,发现某个文本框为空时,提交就会报错,于是去实体中查看该文本框对应的参数属性,发现与其他参数不同,定义的为int类型。于是就懂了。
简单的说:
传递的参数类型为int,而提交时该参数为空
,也会报上述错误。知道了是这原因就很好解决了。
经检查发现在新增的时候这个int类型的id 为空的,所以不能注入到Controller里,所以页面加载的时候判断一下,给个初始值即可了。。
<input type="hidden" name="id" class="form-control" value="#if($wxAccount)$!wxAccount.id#else 0#end">