错误:预期的会话属性'form'

时间:2013-07-15 12:38:54

标签: java spring java-ee model-view-controller

当我发送此帖子请求时,我收到了此错误:

 org.springframework.web.HttpSessionRequiredException: Expected session attribute
 'form' 
 at   org.springframework.web.method.annotation.ModelFactory.initModel

这种例外的原因(可能性)是什么?我使用Spring MVC来开发这个Web应用程序。

@RequestMapping(value = "/new/form",params ="mode",method = RequestMethod.POST)
public String newForm(@ModelAttribute("form") ApplicationForm form,

                               BindingResult bindingResult,
                               @RequestParam String mode,
                               Model model,
                               SessionStatus sessionStatus) {

    return showSearchForm(model);
} 

2 个答案:

答案 0 :(得分:2)

尝试在课程开头使用这些注释

  

@SessionAttributes({ “形式”})

     

@Controller

答案 1 :(得分:1)

此问题是由Spring MVC无法在您的会话中找到要填充到模型的“表单”引起的。通常,这是在用户第一次发出请求时发生的。用于处理此场景的模式通常是检查模型属性是否存在,如果不存在则创建一个新属性

if(!model.containsAttribute("form")) model.addAttribute("form", new Form());