我觉得我会在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