微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – BindingResult和bean名称的普通目标对象都不可用作请求属性 – Spring MVC

参见英文答案 > What causes “java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name ‘command’ available as request attribute”?                                    5个
我收到了这个错误

java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'command' available as request attribute

这是堆栈跟踪

org.apache.jasper.JasperException: java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name ‘command’ available as request attribute
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:534)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:452)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

root cause

java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name ‘command’ available as request attribute
org.springframework.web.servlet.support.BindStatus.(BindStatus.java:141)
org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getBindStatus(AbstractDataBoundFormElementTag.java:178)
org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getPropertyPath(AbstractDataBoundFormElementTag.java:198)
org.springframework.web.servlet.tags.form.LabelTag.autogenerateFor(LabelTag.java:129)
org.springframework.web.servlet.tags.form.LabelTag.resolveFor(LabelTag.java:119)
org.springframework.web.servlet.tags.form.LabelTag.writeTagContent(LabelTag.java:89)
org.springframework.web.servlet.tags.form.AbstractFormTag.doStartTagInternal(AbstractFormTag.java:102)
org.springframework.web.servlet.tags.RequestContextAwareTag.doStartTag(RequestContextAwareTag.java:79)
org.apache.jsp.student_jsp._jspx_meth_form_005flabel_005f0(student_jsp.java:182)
org.apache.jsp.student_jsp._jspx_meth_form_005fform_005f0(student_jsp.java:117)
org.apache.jsp.student_jsp._jspService(student_jsp.java:79)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

这是我的web.xml文件

display-name>Spring MVC Form Handlingdisplay-name>
    <welcome-file-list>
    <welcome-file>student.jspwelcome-file>
  welcome-file-list>

  dispatcherServletaram>
            aram-name>contextConfigLocationaram-name>
            aram-value>/WEB-INF/HelloWeb-Servlet.xmlaram-value>
        aram>
        servlet-mapping>
        servlet-mapping>

这是我的applicationContext.xml文件

spring-beans-3.0.xsd
   http://www.springframework.org/schema/context 
   http://www.springframework.org/schema/context/spring-context-3.0.xsd
   http://www.springframework.org/schema/mvc
   http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

   

这是我的student.jsp文件

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
4045@ionmodelattribute="SpringWeb" method="POST" action="/HelloWeb/addStudent" commandName="SpringWeb">
   

这是我的StudentController.java文件

package com.Prime;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.modelattribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.ui.ModelMap;

@Controller
public class StudentController {

   @RequestMapping(value = "/student",method = RequestMethod.GET)
   public ModelAndView student() {
      return new ModelAndView("/student.jsp","SpringWeb",new Student());
   }

   @RequestMapping(value = "/addStudent",method = RequestMethod.POST)
   public String addStudent(@modelattribute("SpringWeb")Student student,ModelMap model) {
      model.addAttribute("name",student.getName());
      model.addAttribute("age",student.getAge());
      model.addAttribute("id",student.getId());

      return "result";
   }
}

任何人都可以帮我解决这个错误….提前谢谢

最佳答案
我尝试了你的配置,但我没有得到你的错误.
但我不得不改变一些事情.

viewResolver正在将.jsp添加到您的视图名称中.
恕我直言,你应该改

 return new ModelAndView("/student.jsp",new Student());

 return new ModelAndView("student",new Student());

所以在学生之前删除jsp和“/”.

然后它对我有用.但正如我所说,我没有得到你的错误

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐