在弹簧形式处理中是否必需,表单必须具有与模型属性对应的所有字段

时间:2014-09-05 19:21:58

标签: forms spring-mvc

控制器代码:

@RequestMapping(value="/service/userservice/authenticate.action" , method=RequestMethod.POST)
String authenticate(@ModelAttribute("user") User user ,BindingResult errors){ ..... }

用户类:

Class User{
   String userName;
   String password;
   String email;
   ... default Constructor + getters and setters...
}

弹簧形式:

<form:form action="service/userservice/authenticate.action" commandName="user" method="post"> 
  UserID:<form:input  path="userName"/>
  <form:errors path="userName" cssClass="error" /></br>
  Password<form:password  path="password"/>
  <form:errors path="password" cssClass="error" /></br>
  <input type="submit"> 

这是否有效或是否会例外:

java.lang.IllegalStateException:BindingResult和bean名称'user'的普通目标对象都不可用作请求属性

1 个答案:

答案 0 :(得分:0)

如果其他属性(如电子邮件)不会在对象中设置,则无法保存。

第二部分 (java.lang.IllegalStateException:BindingResult和bean名称'user'的普通目标对象都不可用作请求属性。)

如果您未在模型中为GET请求添加绑定对象以显示视图,则可能会出现此异常。