Я ищу способ обернуть свои модели или DTO универсальным классом, чтобы добавить логическое свойство selected и иметь возможность привязать объект в моем контроллере метода POST.
Нравится:
public class RowForm<T> implements Serializable {
private static final long serialVersionUID = 1L;
private T model;
private Boolean selected=false;
public RowForm() {
super();
}
public RowForm(T model) {
super();
this.model = model;
}
public T getModel() {
return model;
}
public void setModel(T model) {
this.model = model;
}
public Boolean getSelected() {
return selected;
}
public void setSelected(Boolean selected) {
this.selected = selected;
}
}
public class ProductsForm implements Serializable{
private static final long serialVersionUID = 1L;
private RowForm<Product> row;
//...other stuff and getters/setters
}
и используйте это так:
@PostMapping ("/postProduct")
public String POSTproduct(Model model, @ModelAttribute ProductsForm pf)
{
....
}
Но я застрял в конверсии ...
Когда я вызываю pf.getRow(), он возвращает обычный Object, а не RowForm<Product>.
Как я могу реализовать ConversionService / PropertyEditor для привязки моих опубликованных данных к моему расширенному универсальному объекту?
Почему бы не использовать абстрактный базовый класс с выбранным свойством и не расширить его для ваших DTO?