Как модели аннотированных методов должны взаимодействовать? - PullRequest
1 голос
/ 28 июня 2011

Я хотел бы знать, как методы контроллера должны взаимодействовать с 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 Ответ

1 голос
/ 28 июня 2011

Эти два не должны действительно взаимодействовать. @ModelAttribute в этом контексте предназначен для предоставления справочных данных, то есть данных, которые не зависят от деталей запроса.

Если ваш метод обработчика должен изменить эти данные, то @ModelAttribute не подходит. Вместо этого метод-обработчик должен явно добавить данные в модель после ее изменения.

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