猿问

spring mvc如何处理表单类型转换错误

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

慕森王

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

慕尼黑5688855

@ExceptionHandler(MethodArgumentNotValidException.class)publicString(HttpServletRequestrequest){Stringreferrer=request.getHeader("referer");return"redirect:"+referrer;}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答