我覺得我會在spring mvc中混淆會話註釋。Spring 3中的默認對象mvc會話過期時的SessionAttributes
我有這樣的代碼(2個步驟,形成樣品,步驟1中的用戶數據,第2步地址)
@SessionAttributes({"user", "address"})
public class UserFormController {
@RequestMapping(method = RequestMethod.GET)
public ModelAndView show(ModelAndView mv){
mv.addObject(new User());
mv.addObject(new Address());
mv.setViewName("user_add_page");
return mv;
}
@RequestMapping(method = RequestMethod.POST)
public String processForm(User user, BindingResult result){
new UserValidator().validate(user, result);
if(result.hasErrors()){
return "user_add_page";
}else{
return "redirect:/user_form/user_add_address";
}
// .........
}
現在,如果我的會話過期後,我得到的錯誤,我提交頁面
組織.springframework.web.HttpSessionRequiredException: 會話屬性 '用戶' 需要 - 在會議上未發現
我該如何處理?我想有2個選項
- 我創建空的對象,如果缺少在會議並接受提交
- 我向前回用戶的形式與一些消息
我還在學習春天的早期階段非常抱歉,如果它的東西很明顯,我只是不能看到它。
ps。即使是在春季mvc解決這種形式的好方法,或者你會推薦不同的方法嗎?
在'processForm'方法的'User'屬性中添加'@ ModelAttribute'。 – 2013-10-31 12:19:22