如何使用 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()