Neither BindingResult nor plain target object for bean name 'command' available as request attribute
使用的是jdk1.5 + tomcat5.5 +Spring2.1
下面说说我的代码:
spring.login.LoginAction.java
spring.login.LoginForm.java
web.xml
login-serlvet.xml
form.jsp
success.jsp
这些是主要的文件,部署的话是普通的web部署,当然,jsp文件在WEB-INF/jsp/内。
1、 LoginAction.java:






















LoginForm.java:



















loginValidator.java

















web.xml








































login-servlet.xml




















































form.jsp






























success.jsp就不用说了。很简单。
大家看到什么错误了没有?
<property name="commandName">


看看这里,这个commandName就是在login-servlet.xml里的 controller bean loginAction的属性之一。
我们要改为: command
这样在<Spring:bind path="command.*">就不会找不到了。
此外,这里还要注意:
<input>的name属性值必须与<spring:bind>的path属性的匹配,否则就绑定不了!
例如下面的代码就绑定不了
<spring:bind path="user.age">
<input type="text" name="theAge" value="${status.value}">
<font color="red">${status.errorMessage}</font>
</spring:bind>
为了避免手误,强烈推荐下列方法来绑定:
<spring:bind path="user.age">
<input type="text" name="${status.expression}" value="${status.value}">
<font color="red">${status.errorMessage}</font>
</spring:bind>