【问题标题】:Error: Expected session attribute 'form'错误:预期的会话属性“表单”
【发布时间】:2013-07-13 07:56:14
【问题描述】:

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

 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);
} 

【问题讨论】:

  • 代码 sn-p 会很方便!
  • 你的@ModelAttribute("form") ?还是会话属性?
  • 定位控制器! ,是的,我正在使用会话属性@ItachiUchiha
  • 你能同时展示你视图的相关部分(HTML、JSP、JSF 等等)吗?
  • @mthmulders 实际上我不能 JSP 太大,内容是私有的,所以我不能修剪它以使其成为公共的。但是让我们看看是什么可能性让 spring 出现了这个例外!

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


【解决方案1】:

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

@SessionAttributes({"form"})

@控制器

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-07
      • 2018-09-23
      • 1970-01-01
      • 2021-12-01
      • 2018-07-23
      • 2018-03-15
      • 1970-01-01
      • 2015-10-14
      相关资源
      最近更新 更多