Я столкнулся со следующей проблемой SpringMVC: есть объект домена, который использует определенный подобъект Address, но геттеры/сеттеры должны быть настроены для использования другого объекта Address посредством преобразования. Это архитектурное требование.
public class DomainObj {
protected DomainObj.Address address;
public anotherpackage.new.Address getAddress()
{
return convertFrom(address);
}
public void setAddress (anotherpackage.new.Address value)
{
this.address = convertTo(value);
}
}
// Internal Address object, old, #1
public static class Address {
protected String street1;
protected String street2;
// etc., getters/setters
}
Теперь в JSP я привязываю текстовое поле ввода к объекту new Address (результат преобразования), вот с чем мы должны иметь дело. В этом новом объекте 2-го адреса (anotherpackage.new.Address
) есть поле, например. "addressLine1", который отличается от "Street1" старого объекта:
<form:input path="topObject.address.addressLine1" />
Моя проблема в том, что установщик setAddress() никогда не вызывается в этом случае для привязки (проверено в отладчике). Любые решения для этого?