2011-03-25 77 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