Qu'est-ce que le Modèle en ModelAndView de Spring MVC?
Avoir cette fonction de base
protected ModelAndView handleRequestInternal(...) {
...
return new ModelAndView("welcomePage", "WelcomeMessage", message);
}
Je sais que ce sera de retour modelandView.
Je sais que welcomePage
est mon viewname ce qui signifie que quelque chose comme welcomepage.jsp
sera appelée.
Mais je suis confus avec ce qui est le Modèle de la partie.
Qu'est-ce que WelcomeMessage
et message
et comment le Modèle de travail dans ce scénario?
Vous devez vous connecter pour publier un commentaire.
Le modèle présente un espace réservé pour conserver les informations que vous souhaitez afficher dans la vue. Il pourrait être une chaîne de caractères, qui est dans votre exemple ci-dessus, ou peut-être un objet contenant des tas de propriétés.
Exemple 1
Si vous avez...
... puis dans votre jsp, pour afficher le message, vous aurez à faire:-
Exemple 2
Si vous avez...
... puis dans votre jsp, vous pouvez le faire:-
WelcomeMessage
, dans le deuxième exemple, je l'ai appelémodel
. Utilisez un nom qui a du sens pour vous. Le troisième argument tient l'information... ce pourrait être une simple chaîne de caractères, ou d'un POJO ou une carte... en fait toutes les informations utiles que vous souhaitez afficher dans la vue.est un raccourci pour
En regardant le code ci-dessus, vous pouvez voir le nom de la vue est "welcomePage". Votre
ViewResolver
(généralement le programme d'installation en.../WEB-INF/spring-servlet.xml
) permettra de traduire cela en Vue. La dernière ligne de code permet de définir un attribut de votre modèle (addObject("WelcomeMessage", message)
). C'est là que le modèle entre en jeu.Il est expliqué par la javadoc de le constructeur. C'est une commodité constructeur qui remplit le modèle avec une paire attribut /valeur.
Donc ...
est équivalent à:
Ici, dans ce cas,
nous avons 3 du paramètre dans la Méthode, à savoir ModelandView.
Conformément à cette question, le premier paramètre est facile à comprendre à partir de la question. Il représente la Vue qui sera affiché pour le client.
Les deux autres paramètres sont comme Le Pointeur et Le Titulaire
Par conséquent, vous pouvez résumer comme ceci
ModelAndView(Vue, Pointeur, Titulaire);
Le Pointeur juste des points de l'information dans le Le Titulaire
Lorsque le Contrôleur lie la Vue avec cette information, puis dans le dit processus, vous pouvez utiliser Le Pointeur dans le JSP page pour accéder aux informations stockées dans Le Titulaire d'affichage qui respecte l'information pour le client.
Ici est la représentation visuelle de l'respectés processus.
Bien, WelcomeMessage est juste un nom de variable pour le message (modèle réel avec les données). Fondamentalement, vous contraignant le modèle avec la welcomePage ici. Le Modèle (message) sera disponible en welcomePage.jsp que WelcomeMessage.
Voici un exemple plus simple:
Dans ce cas, mon modèle est une simple chaîne de caractères (Dans les applications, ce sera un POJO avec des données extraites de DB ou d'autres sources.). Je suis d'assigner à myVar et de mon point de vue est bonjour.jsp. Maintenant, myVar est disponible pour moi dans bonjour.jsp et je peux l'utiliser pour l'affichage.
Dans la vue, vous pouvez accéder aux données si:
De la même façon, Vous serez en mesure d'accéder le modèle par le biais WelcomeMessage variable.
ModelAndView: Le nom lui-même explique qu'il est une structure de données qui contient le Modèle et la Vue de données.
si le modèle contient une seule valeur, on peut écrire comme suit: