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
相關問題