2011-03-25 66 views
0

我刚刚学习Hibernate的Spring3验证。我想添加验证,所以我pyt的@Valid函数调用,并将代码添加到formbean,但如果formbean有错误,我会得到以下错误。如果它没有错误,那么效果很好。请和我知道我不正确的做法。感谢Spring 3 MVC Validation with Hibernate,hasErrors后出错?

来源:

@RequestMapping(value = "/save", method = RequestMethod.POST) 
public ModelAndView saveArticle(@Valid @ModelAttribute(" article") Article article, BindingResult result) 
{ 
System.out.println("In ModelAndView"); 
// Adding code to check for errors; 
if (result.hasErrors()) 
{ 
    System.out.println("In ModelAndView-hasErrors"); 
    return new ModelAndView("addArticle"); 
} 
articleService.addArticle(article); 
return new ModelAndView("redirect:/articles.html"); 
} 

控制台输出:

In ModelAndView 
In ModelAndView-hasErrors 
Mar 25, 2011 9:41:30 AM org.apache.catalina.core.ApplicationDispatcher invoke 
SEVERE: Servlet.service() for servlet jsp threw exception 
java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'article' available as request attribute 

回答

0

删除多余的空格:@ModelAttribute(" article")

你的模型属性绑定为" article",而你的表格试图重新显示模式属性名为"article",显然没有绑定。

+0

感谢它现在的作品。是Spring 3 MVC Validation with Hibernate的新功能,你可以告诉我任何好的PDF,我可以下载并阅读 – 2011-03-25 14:08:56

+0

@Java:实际上,我不知道任何资源对这些概念的全面解释。 – axtavt 2011-03-25 14:52:01