Подтвердить что ты не робот

Использование ModelMap в Spring

Каковы преимущества использования ModelMap вместо простой карты в Spring MVC. Я вижу в реализации кода, что они помещают тип данных атрибута, добавленного в карту, в качестве ключа, а затем становятся доступными в форме.

Может кто-нибудь объяснить с помощью примера.

4b9b3361

Ответ 1

ModelMap подклассы LinkedHashMap и предоставляет некоторые дополнительные удобства, чтобы сделать его немного проще в использовании контроллерами

  • addAttribute может быть вызван только с помощью значения, и тогда ключ карты выводится из этого типа.
  • Все методы addAttribute возвращают ModelMap, поэтому вы можете связать метод, вызванный вместе, например. modelMap.addAttribute('x', x).addAttribute('y',y)
  • Методы addAttribute проверяют, что значения не равны null
  • Общий тип ModelMap фиксируется в Map<String, Object>, что является единственным, что имеет смысл для модели представления.

Итак, ничто не разрушает землю, но достаточно, чтобы сделать его немного лучше, чем сырое Map. Spring позволит вам использовать один из них.

Вы также можете использовать интерфейс Model, который не предоставляет ничего, кроме методов addAttribute, и реализуется классом ExtendedModelMap, который сам добавляет дополнительные удобства.

Ответ 2

ModelMap.addAttribute выполнит проверку NULL, ModelMap.put наследуется от LinkedHashMap

Ответ 3

ModalMap расширяет LinkedHashMap

Реализация карты для использования при создании данных модели для использования с инструментами пользовательского интерфейса. Поддерживает цепные вызовы и генерирует имена атрибутов модели.

Этот класс служит универсальным держателем модели для Servlet и Portlet MVC, но не привязан ни к одному из них. Ознакомьтесь с интерфейсом модели для варианта интерфейса на основе Java-5, который служит той же цели.