领域对象包含一个Integer类型的值,在spring的form表单中如果输入错误的字符串,比如“abc”,那么会报错Therequestsentbytheclientwassyntacticallyincorrect.这肯定是个类型转换的异常,那么如何捕获这个异常并且重新跳转到表单的编辑页面?
2 回答

慕森王
TA贡献1777条经验 获得超3个赞
根据楼主的报错,我猜测抛出的异常应该是org.springframework.beans.TypeMismatchException,这是SpringMVC报的错误。"Therequestsentbytheclientwassyntacticallyincorrect."这应该是apache封装之后显示的错误信息。对于spring抛出的这种异常,使用@ExceptionHandler({TypeMismatchException.class})@ResponseBodypublicStringParameterErrorExceptionHandeler(RuntimeExceptionexception,HttpServletRequestrequest)throwsIOException{××××××return。。。}就能接收到那个异常。当然你也可以在web.xml里面配置400异常页面,或者如果你使用了springMVC的Resolve,也可以在viewResolve里面配置400错误页面。

慕尼黑5688855
TA贡献1848条经验 获得超2个赞
@ExceptionHandler(MethodArgumentNotValidException.class)publicString(HttpServletRequestrequest){Stringreferrer=request.getHeader("referer");return"redirect:"+referrer;}
添加回答
举报
0/150
提交
取消