如何使用 Spring 网络流绑定复合模型
How to bind composite model using Spring web flow
我有一个包含 Address 对象的 Person 对象,如下所示:
class Person {
private int age;
private Address address;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address= address;
}
}
还有一个class地址:
class Address{
private String streetAddress;
private String city;
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getStreetAddress() {
return state;
}
public void setStreetAddress(String streetAddress) {
this.state = state;
}
}
在我的 Spring 网络流程中,我有:
<var name="person" class="Person"/>
<var name="address" class="Address"/>
<view-state id="view1" view="qualificationView" model="person">
<transition on="submitApplication" to="view2"/>
</view-state>
我的html有属性:
age
streetAddress
city
在提交表单时,我看到 "age" 属性已正确绑定,但地址 class 中的属性未设置。
如何设置所有字段?
<form:input type="text" path="address.streetAddress"/>
而且您不需要定义 <var name="address".../>
。而且我认为您必须将 Person
中的 address
显式初始化为 new Address()
。
我有一个包含 Address 对象的 Person 对象,如下所示:
class Person {
private int age;
private Address address;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address= address;
}
}
还有一个class地址:
class Address{
private String streetAddress;
private String city;
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getStreetAddress() {
return state;
}
public void setStreetAddress(String streetAddress) {
this.state = state;
}
}
在我的 Spring 网络流程中,我有:
<var name="person" class="Person"/>
<var name="address" class="Address"/>
<view-state id="view1" view="qualificationView" model="person">
<transition on="submitApplication" to="view2"/>
</view-state>
我的html有属性:
age
streetAddress
city
在提交表单时,我看到 "age" 属性已正确绑定,但地址 class 中的属性未设置。
如何设置所有字段?
<form:input type="text" path="address.streetAddress"/>
而且您不需要定义 <var name="address".../>
。而且我认为您必须将 Person
中的 address
显式初始化为 new Address()
。