私は次のクラスを持っています
public class Address {
private String unit;
private String street;
... getter and setters go here....
}
public class Person {
private String name;
private Address address;
public Person(){
address = new Address();
}
... getter and setters go here...
}
public class Employee extends Person {
...
}
たとえば、次のコードを使用してアドレス クラスのユニット フィールドにアクセスできます。
<s:form method="POST" action="updateEmployee">
<s:textfield name ="unit" label="Unit" value="%{employee.address.unit}" />
<s:textfield name ="name" label="Name" value="%{employee.name}" />
</s:form>
しかし、フォームを送信すると、住所クラスのフィールドを除くすべてのフィールドが送信されます。ユニットがnullであることを示しています。
@Action
public class myaction implements ModelDriven {
Employee emp = new Employee();
public String updateEmployee(){
System.out.println("Unit is" + employee.getAddress().getUnit();
System.out.println("Unit is" + employee.getName();
return "SUCCESS";
}
public Employee getEmployee() {
return employee;
}
public void setEmployee(Employee employee) {
this.employee = employee;
}
@Override
public Object getModel() {
return employee;
}