Ter*_*nce 2 java spring spring-mvc
我有一个名为Person的对象,它具有以下属性:
int id;
Name name;
String address;
Date birthday;
String email;
String note;
Run Code Online (Sandbox Code Playgroud)
Name类具有以下属性:
String firstName;
String middleName;
String lastName;
Run Code Online (Sandbox Code Playgroud)
在我的表单中,我有这些输入字段:
<tr>
<td>First Name:</td>
<td><form:input path="firstName" /></td>
</tr>
<tr>
<td>Middle Name:</td>
<td><form:input path="middleName" /></td>
</tr>
<tr>
<td>Last Name:</td>
<td><form:input path="lastName" /></td>
</tr>
Run Code Online (Sandbox Code Playgroud)
在将名称输入字段传递给将由SimpleFormController创建的Person对象之前,我如何能够检索名称输入字段的值并将其转换为Name对象?我很确定我需要使用initBinder()方法,但我不知道如何开始.
我正在使用Spring 3.0,是的,我知道SimpleFormController已经被弃用,但我仍然打算使用它.
你需要写:
<form:input path="name.firstName" />
...
Run Code Online (Sandbox Code Playgroud)
在你的jsp.并且需要覆盖formBackingObject方法,以便它返回一个空的Person对象,并引用一个emtpy名称对象
protected Object formBackingObject(HttpServletRequest request) {
Person person = new Person();
person.Name = new Name();
return person;
}
Run Code Online (Sandbox Code Playgroud)
多数民众赞成,你不需要编写自己的绑定.