Каковы различия между моделью и ModelMap весной [дубликат]

Давайте посмотрим на лес сначала, прежде чем смотреть на деревья.

Здесь есть много информативных ответов с большими подробностями, я не буду повторять ни одного из них. Ключ к программированию в JavaScript имеет сначала правильную ментальную модель общего исполнения.

  1. Ваша точка входа (ов) выполняется в результате события. Например, в браузер загружается тег сценария с кодом. (Соответственно, поэтому вам, возможно, придется заботиться о готовности страницы запускать ваш код, если он требует, чтобы элементы dom были сконструированы первыми и т. Д.)
  2. Ваш код выполняется до завершения, однако многие асинхронные вызовы, которые он делает, без выполнения каких-либо ваших обратных вызовов, включая запросы XHR, установку тайм-аутов, обработчиков событий dom и т. д. Каждый из этих обратных вызовов, ожидающих выполнения, будет находиться в очереди, ожидая, что их очередь будет запущена после других событий
  3. Каждый отдельный обратный вызов XHR-запроса, установленного таймаута или dom события после вызова будет завершен.

Хорошие новости заключается в том, что, если вы хорошо понимаете этот момент, вам никогда не придется беспокоиться о гоночных условиях. Прежде всего вы должны понимать, как вы хотите упорядочить свой код как по существу ответ на разные дискретные события, и как вы хотите объединить их в логическую последовательность. Вы можете использовать обещания или новые асинхронные / ожидающие более высокие уровни в качестве инструментов для этой цели, или вы можете откатывать свои собственные.

Но вы не должны использовать какие-либо тактические инструменты для решения проблемы, пока вам не понравится актуальная проблемная область. Нарисуйте карту этих зависимостей, чтобы знать, что нужно запускать, когда. Попытка ad-hoc подхода ко всем этим обратным вызовам просто не поможет вам.

51
задан Evan Wondrasek 21 January 2015 в 22:22
поделиться

3 ответа

Model является интерфейсом, а ModelMap является классом.

ModelAndView - это просто контейнер для объекта ModelMap и вида. Он позволяет контроллеру возвращать оба как одно значение.

59
ответ дан Bart 27 August 2018 в 17:05
поделиться

Модель: это интерфейс, который содержит четыре метода addAttribute и один метод merAttribute.

ModelMap: реализует интерфейс карты. Он также содержит метод Map.

ModelAndView: как объясняет Барт, он позволяет контроллеру возвращать оба как одно значение.

8
ответ дан Ashu 27 August 2018 в 17:05
поделиться

Различия между Model, ModelMap и ModelAndView

Модель: это интерфейс.

Пример:

@RequestMapping(method = RequestMethod.GET)
    public String printHello(Model model) {
          model.addAttribute("message", "Hello World!!");
          return "hello";
       }

ModelMap: реализация карты для использования при создании данных модели для использования с UI tools.Поддерживает прикованные вызовы и генерирует имена атрибутов модели.

Пример:

@RequestMapping("/helloworld")
public String hello(ModelMap map) {
    String helloWorldMessage = "Hello world!";
    String welcomeMessage = "Welcome!";
    map.addAttribute("helloMessage", helloWorldMessage);
    map.addAttribute("welcomeMessage", welcomeMessage);
    return "hello";
}

ModelAndView: этот класс просто содержит оба, чтобы дать возможность контроллеру вернуть обе модели и просмотр в одном возвратном значении.

Пример:

@RequestMapping("/welcome")
public ModelAndView helloWorld() {
        String message = "Hello World!";
        return new ModelAndView("welcome", "message", message);
    }
15
ответ дан vikas harle 27 August 2018 в 17:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: