Różnice między Model, ModelMap i ModelAndView
Model: Jest to interfejs. Definiuje uchwyt dla atrybutów modelu i przede wszystkim służy do dodawania atrybutów do modelu.
Przykład:
@RequestMapping(method = RequestMethod.GET)
public String printHello(Model model) {
model.addAttribute("message", "Hello World!!");
return "hello";
}
ModelMap: wdrożenia MAP do stosowania przy budowie modelu danych do użytku z tools.Supports UI łańcuchu połączeń i generacji modelu nazw atrybutów.
Przykład:
@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: Klasa ta posiada jedynie zarówno umożliwiają kontroler powrócić zarówno model i widok w jednym zwracanej wartości.
Przykład:
@RequestMapping("/welcome")
public ModelAndView helloWorld() {
String message = "Hello World!";
return new ModelAndView("welcome", "message", message);
}
Możliwy duplikat http://stackoverflow.com/q/3344627/2607501 – Prancer