2
嗨 有人能帮助我了解我是什么在下面的代码做错了,由于我正在此错误:Spring MVC的3:java.lang.IllegalStateException
Caused by: java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'user' available as request attribute
at org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:141)
at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getBindStatus(AbstractDataBoundFormElementTag.java:174)
at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getPropertyPath(AbstractDataBoundFormElementTag.java:194)
at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getName(AbstractDataBoundFormElementTag.java:160)
at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.autogenerateId(AbstractDataBoundFormElementTag.java:147)
at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.resolveId(AbstractDataBoundFormElementTag.java:138)
at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.writeDefaultAttributes(AbstractDataBoundFormElementTag.java:122)
at org.springframework.web.servlet.tags.form.AbstractHtmlElementTag.writeDefaultAttributes(AbstractHtmlElementTag.java:408)
at org.springframework.web.servlet.tags.form.InputTag.writeTagContent(InputTag.java:140)
at org.springframework.web.servlet.tags.form.AbstractFormTag.doStartTagInternal(AbstractFormTag.java:102)
at org.springframework.web.servlet.tags.RequestContextAwareTag.doStartTag(RequestContextAwareTag.java:79)
at org.apache.jsp.WEB_002dINF.views.signUp_jsp._jspx_meth_form_005finput_005f0(signUp_jsp.java:179)
at org.apache.jsp.WEB_002dINF.views.signUp_jsp._jspx_meth_form_005fform_005f0(signUp_jsp.java:111)
at org.apache.jsp.WEB_002dINF.views.signUp_jsp._jspService(signUp_jsp.java:74)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
... 59 more
UserManagementController.java
@Controller
public class UserManagementController {
//displays sign up page(GET)
@RequestMapping(method=RequestMethod.GET, value="/signUp.html")
public ModelAndView signUpForm() {
System.out.println("Sign up");
return new ModelAndView("/signUp", "user", new User());
}
}
signUp.jsp
<body>
<h3>Sign up</h3>
<table>
<form:form commandName="user" >
<tr>
<td>First name:</td>
<td><form:input path="firstName"/></td>
</tr>
<tr>
<td>Last name:</td>
<td><form:input path="lastName"/></td>
</tr>
<tr>
<td>Username:</td>
<td><form:input path="username"/></td>
</tr>
<tr>
<td>Password:</td>
<td><form:input path="password"/></td>
</tr>
<tr>
<td>Email:</td>
<td><form:input path="email"/></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Submit"></td>
</tr>
</form:form>
</table>
</body>
有人能帮我理解吗?
谢谢。
你可以检查当JSP呈现,如果确实存在所谓的'user'请求属性? (例如,使用' ') –
Bozho
2011-05-19 17:47:54
@Bozho:我有一个propery'private boolean enabled = true;',它有一个getter方法,用于我在此处用作用户域对象的用户域对象。当我尝试在'signUp.jsp'上检索'$ {user.enabled}'时,它没有显示任何内容,所以我认为确实没有'user'可用作请求属性。我不明白为什么? – skip 2011-05-19 21:57:26
@Bozho:我能够显示'signUp.jsp'来测试'$ {user.enabled}',因为我已经注释了完整的'
回答
我错误地使用了错误的导入
ModelAndView
。 我本来应该使用org.springframework.web.servlet.ModelAndView
,但我错误地使用的是org.springframework.web.portlet.ModelAndView
。我现在有代码工作。
谢谢:)
来源
2011-05-20 03:45:28 skip
+1自己解决。如果可以,请接受你自己的答案。 – andyb 2011-05-20 13:36:14
@andyb:谢谢:)。直到接下来的19个小时才能接受它:) – skip 2011-05-20 21:59:22
相关问题