Quelles sont les différences entre Model, ModelMap et ModelAndView?

Quelles sont les principales différences entre les classes Spring Framework suivantes?

  • Model
  • ModelMap
  • ModelAndView

En utilisant Model.put(Ssortingng,Object) nous pouvons accéder aux valeurs dans les fichiers .jsp , mais ModelMap.addAtsortingbute(Ssortingng,Object) également fait la même chose. Je ne comprends pas la différence entre ces classes.

Model est une interface alors que ModelMap est une classe.

ModelAndView n’est qu’un conteneur pour un object ModelMap et un object de vue. Il permet à un contrôleur de renvoyer les deux en une seule valeur.

Différences entre Model, ModelMap et ModelAndView

Modèle: c’est une interface. Il définit un support pour les atsortingbuts du modèle et est principalement conçu pour append des atsortingbuts au modèle.

Exemple:

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

ModelMap: implémentation de Map à utiliser lors de la création de données de modèle à utiliser avec les outils d’interface utilisateur. Prend en charge les appels chaînés et la génération de noms d’atsortingbuts de modèle.

Exemple:

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

ModelAndView: Cette classe contient simplement les deux pour permettre à un contrôleur de renvoyer à la fois le modèle et la vue dans une seule valeur de retour.

Exemple:

 @RequestMapping("/welcome") public ModelAndView helloWorld() { Ssortingng message = "Hello World!"; return new ModelAndView("welcome", "message", message); } 

Model : est une interface contenant quatre méthodes addAtsortingbute et une méthode merAtsortingbute.

ModelMap : implémente l’interface Map. Il contient également la méthode Map.

ModelAndView : Comme Bart l’explique, cela permet à un contrôleur de retourner les deux comme une seule valeur.