服务器,tomcat,网页请求错误400,The request sent by the client was syntactically incorrect的问题

这是今天项目中遇到的一个让我纠结的问题,当时特郁闷,找了半天也没找到原因.最后一点一点的

测试提交数据才慢慢发现其中的端倪,最后也给遇到类似问题的朋友一点建议吧!

我的项目是运用SpringMVC作为控制层,然后是添加页面,页面需要提交一堆数据到服务器,当

写完数据提交的时候,并没有如我想象的那样跳入控制层,而跳入下面页面:

这个让我纠结了,以前都没遇到过,这个错误的原因看描述应该是说,客户端提交的请求在语法有错误,

想了半天,最后想到了,可能是数据传入后台的时候进行绑定出错了,然后发现我提交的数据有两个地方

可能有点问题,一个是date类型,一个是checkbox传入的值,后台对应的是String和boolean型。Date类型

在数据绑定时需要在控制层写类型转换器,然后在我的代码中加了一下代码:

@InitBinder  
	public void initBinder(WebDataBinder binder) {  
	    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd");  
	    dateFormat.setLenient(false);  
	    binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false)); 
	}

SimpleDateFormat("yyyy-mm-dd") 中传入的格式一定是前台传过来的格式,
然后运行,还是报错,最后发现是checkbox传入的问题,把checkbox的value改为true,后台POJO中

属性类型改为Boolean类型,最后运行成功.


提示:一般出现这个问题,描述已经很清楚了,是因为请求语法问题,用GET方法提交,看看URL中参数格式是不是不正确。不对的加以修改,或者需要转换的就自己写个转换器,如上图中的代码块.具体可以查看SpringMVC的数据绑定知识。


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。