java.lang.IllegalStateException:bean name';登录页面';可用作请求属性
这是我的jsp页面java.lang.IllegalStateException:bean name';登录页面';可用作请求属性,java,Java,这是我的jsp页面 <form:form action="LoginSubmit" modelAttribute="LoginPage" method="POST" > <!-- UserName :<input type="text" name="username"> --> <form:input path="username" /> <form:errors path="username"/> Password :
<form:form action="LoginSubmit" modelAttribute="LoginPage" method="POST" >
<!-- UserName :<input type="text" name="username"> -->
<form:input path="username" />
<form:errors path="username"/>
Password : <form:password path="password"/>
<form:errors path="password"/>
<input type="submit" value="submit">
</form:form>
当我运行程序时,它会抛出如下错误
java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'LoginPage' available as request attribute
org.springframework.web.servlet.support.BindStatus.<init>(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.AbstractDataBoundFormElementTag.getName(AbstractDataBoundFormElementTag.java:164)
org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.autogenerateId(AbstractDataBoundFormElementTag.java:151)
org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.resolveId(AbstractDataBoundFormElementTag.java:142)
org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.writeDefaultAttributes(AbstractDataBoundFormElementTag.java:126)
org.springframework.web.servlet.tags.form.AbstractHtmlElementTag.writeDefaultAttributes(AbstractHtmlElementTag.java:421)
org.springframework.web.servlet.tags.form.InputTag.writeTagContent(InputTag.java:142)
org.springframework.web.servlet.tags.form.AbstractFormTag.doStartTagInternal(AbstractFormTag.java:102)
org.springframework.web.servlet.tags.RequestContextAwareTag.doStartTag(RequestContextAwareTag.java:79)
org.apache.jsp.WEB_002dINF.views.login_jsp._jspx_meth_form_005finput_005f0(login_jsp.java:200)
org.apache.jsp.WEB_002dINF.views.login_jsp._jspService(login_jsp.java:103)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1180)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
java.lang.IllegalStateException:bean名称“LoginPage”的BindingResult和普通目标对象都不能作为请求属性使用
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.AbstractDataBoundFormElementTag.getName(AbstractDataBoundFormElementTag.java:164)
org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.autogenerateId(AbstractDataBoundFormElementTag.java:151)
org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.resolveId(AbstractDataBoundFormElementTag.java:142)
org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.writeDefaultAttributes(AbstractDataBoundFormElementTag.java:126)
org.springframework.web.servlet.tags.form.AbstractHtmlElementTag.writeDefaultAttributes(AbstractHtmlElementTag.java:421)
org.springframework.web.servlet.tags.form.InputTag.writeTagContent(InputTag.java:142)
org.springframework.web.servlet.tags.form.AbstractFormTag.doStartTagInternal(AbstractFormTag.java:102)
org.springframework.web.servlet.tags.RequestContextAwareTag.doStartTag(RequestContextAwareTag.java:79)
org.apache.jsp.WEB\u 002dINF.views.login\u jsp.\u jspx\u meth\u form\u 005finput\u 005f0(login\u jsp.java:200)
org.apache.jsp.WEB\u 002dINF.views.login\u jsp.\u jsp服务(login\u jsp.java:103)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javaservlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javaservlet.http.HttpServlet.service(HttpServlet.java:728)
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1180)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
javaservlet.http.HttpServlet.service(HttpServlet.java:621)
javaservlet.http.HttpServlet.service(HttpServlet.java:728)
这是因为在服务器返回This.jsp之前,没有方法绑定模型属性“LoginPage”
您返回此视图的方法是什么?或者您直接使用这个.jsp
如果您将此页面直接用作默认主页,则需要修改控制器并添加一个方法,如下所示:
@RequestMapping(value = "index.do", method = RequestMethod.GET)//depends on your servlet configuration
public final String getIndex(BindingResult bindingResult, Model model){
LoginForm loginForm = new LoginForm();
/*just remember to use model.addAttribute("LoginPage", loginForm)*/
model.addAttribute("LoginPage", loginForm);
return "index";
}
<servlet-mapping>
<servlet-name>MyController</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
对于我的示例,您需要在web.xml中进行如下配置:
@RequestMapping(value = "index.do", method = RequestMethod.GET)//depends on your servlet configuration
public final String getIndex(BindingResult bindingResult, Model model){
LoginForm loginForm = new LoginForm();
/*just remember to use model.addAttribute("LoginPage", loginForm)*/
model.addAttribute("LoginPage", loginForm);
return "index";
}
<servlet-mapping>
<servlet-name>MyController</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
在显示登录页面的controller方法中,您必须将LoginForm作为model属性添加到模型中,返回登录页面的controller方法可能如下所示
@RequestMapping(value="/showLogin")
public String showLogin(Model model) {
LoginForm LoginPage = new LoginForm();
model.addAttribute("LoginPaeg", LoginPage);
return "loginPage";
}
希望这有帮助请帮助,提前感谢错误何时出现?是在显示登录页面的时候吗?作为一个刚学过一点spring的新手。。。这就是问题所在吗