Любое действие, реализующее интерфейс ModelDriven
, должно содержать метод getModel()
, который возвращает объект, представляющий модель действия. Предполагается, что любые параметры, переданные действию, являются под-свойствами модели. В действии ModelDriven может быть только одна модель.
Например, предположим, у нас есть модель с именем Profile
и действие для редактирования нашего профиля. В нашей форме у нас есть текстовое поле для нашего сайта. Без использования ModelDriven
в вашем действии будут методы getWebsite
и setWebsite
. При ModelDriven
вместо этого будут вызываться метод получения и установки в модели. Фактически getModel().setWebsite("http://stackoverflow.com")
.
Пример
public class EditProfileAction extends ActionSupport implements ModelDriven<Profile> {
private Profile profile;
// todo: other methods
@Override
public Profile getModel() {
return profile;
}
}
public class Profile {
private String website;
public String getWebsite() {
return website;
}
public void setWebsite(String website) {
this.website = website;
}
}