标签:
今天使用springMVC的数据验证的时候,看似很简单的东西,却有一个很大的陷阱:提交空表单的时候总是出现404错误,但是后台却不给你报任何错。遇到这个错误这个很苦恼,搞了几小时,今天记录并分享一下解决经验(本人使用注解式的数据验证):
错误例子:
@RequestMapping(value="/login",method=RequestMethod.POST) public String login(@Valid @ModelAttribute("contentModel") LoginModel lm,Model model,BindingResult result) throws NoSuchAlgorithmException{ if(result.hasErrors()) return login(model); return "login_ok"; }
造成这个原因的因为我们随意放置下面login()方法的参数,springMVC的参数顺序应该是BindingResult必须跟随在自定义的模型之后,所应正确的做法是:
public String login(Model model,@Valid @ModelAttribute("contentModel") LoginModel lm,BindingResult result) throws NoSuchAlgorithmException{ if(result.hasErrors()) return login(model); return "login_ok"; }
只要保持 @Valid @ModelAttribute("contentModel") LoginModel lm,BindingResult result 这个顺序,在他们前面加HttpServletRequest,HttpServletResponse都没问题。
本人初学springMVC不久,欢迎大家指出错误。
标签:
原文地址:http://www.cnblogs.com/ginponson/p/4319132.html