Лучше использовать ModelAndView или вернуть строку в качестве представления? - PullRequest
1 голос
/ 18 июня 2019

Я создаю приложение Spring MVC и просто задаюсь вопросом, что такое соглашение о моделировании и просмотре.

Лучше ли вернуть ModelAndView или просто вернуть имя представления в виде строки?

Пример

public ModelAndView showInformation(){
 ModelAndView myMV= new ModelAndView("display-information");
 myMV.addObject("info",myObject);
 return myMV;   
}

OR

public String showInformation(Model theModel){
  theModel.addAttribute("info",myObject);
  return "display-information";
}

По моему мнению, использование ModelAndView делает ваши намерения намного понятнее, но требует больше настройки по сравнению с простым возвратом строки.

1 Ответ

0 голосов
/ 19 июня 2019

ModelAndView - Модель (данные) + Представление (имя представления). Имя представления является строкой, поскольку оно обрабатывается TemplateViewResolver. Таким образом, не имеет значения, если вы решите вернуть String (viewname) и обработать данные, используя Modal. Infact возвращает строку, так как представление было добавлено в Spring позже, таким образом, является более продвинутым. Но я предпочитаю ModelAndView возвращаемой строке. Причины

  1. Более читабелен, поскольку дает четкое представление о виде и данных, которые я хочу вернуться из моего контроллера
  2. В процессе разработки, если вызов службы в контроллере перерывы, я уверен, что правильное представление возвращается вместо любого возвращается резкая строка. таким образом, мой распознаватель шаблонов всегда счастлив .
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...