Встречается на собеседованиях • сегодня

В чем разница между ModelMap и ModelAndView

ModelMap и ModelAndView используются в Spring MVC для передачи данных между контроллером и представлением, но имеют различия:

ModelMap

  • Просто хранит атрибуты (ключ-значение) для передачи в представление.
  • Возвращается как часть метода контроллера (не требует явного создания).
  • Используется, когда представление определяется через имя (логическое имя view).

ModelAndView

  • Объединяет и модель (атрибуты), и представление (view) в одном объекте.
  • Позволяет явно задать как данные, так и view (например, перенаправление).
  • Возвращается из метода контроллера.

Пример:

java
// ModelMap
@GetMapping("/example1")
public String example1(ModelMap model) {
    model.addAttribute("msg", "Hello");
    return "viewName";
}

// ModelAndView
@GetMapping("/example2")
public ModelAndView example2() {
    ModelAndView mav = new ModelAndView("viewName");
    mav.addObject("msg", "Hello");
    return mav;
}

Выбор зависит от удобства: ModelMap проще для простых случаев, ModelAndView — для гибкости.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы