当我发送这个帖子请求时,我得到了这个错误:
org.springframework.web.HttpSessionRequiredException: Expected session attribute
'form'
at org.springframework.web.method.annotation.ModelFactory.initModel
造成这种异常的原因(可能性)是什么?我正在使用SpringMVC来开发这个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);
}
尝试在类的开头使用这些注释
@会话属性({"表单"})
@控制器
这个问题是由Spring MVC无法在会话中找到要填充到模型中的"表单"引起的。通常,这种情况发生在用户第一次提出请求时。通常,用于处理这种情况的模式是检查模型属性的存在,如果不存在,则创建一个新的属性
if(!model.containsAttribute("form")) model.addAttribute("form", new Form());