Связывание / преобразование типов объектов Spring MVC Generics - PullRequest
0 голосов
/ 12 ноября 2018

Я ищу способ обернуть мои модели или DTO универсальным классом, чтобы добавить «выбранное» логическое свойство и иметь возможность связывать объект в моем контроллере метода 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, чтобы привязать мои опубликованные данные к моему расширенному универсальному объекту?

1 Ответ

0 голосов
/ 20 ноября 2018

Почему бы не использовать абстрактный базовый класс с выбранным свойством и расширить его для своих DTO?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...