Как модели аннотированных методов должны взаимодействовать?
Я хотел бы знать, как методы контроллера должны взаимодействовать с ModelAttribute
аннотированные методы.
Например handlePage
Метод хотел бы отфильтровать список, созданный createList
метод? Или установите идентификатор для объекта, созданного createAnObject
метод?
Это возможно или ModelAttribute
Аннотированные методы предназначены для прикрепления статических данных к модели?
@ModelAttribute("someList")
public ArrayList<SomeList> createList() {
return new ArrayList<SomeList>(100);
}
@ModelAttribute("anObject")
public AnObject createAnObject() {
return new MyObject();
}
@RequestMapping(method=RequestMethod.GET)
public void handlePage(Model model) {
//Do some stuff to populate the model....
}
1 ответ
Решение
Эти два не должны действительно взаимодействовать. @ModelAttribute
в этом контексте предназначен для предоставления справочных данных, то есть данных, которые не зависят от деталей запроса.
Если ваш метод обработчика должен изменить эти данные, то @ModelAttribute
не подходит Вместо этого метод-обработчик должен явно добавить данные в модель после ее изменения.