Diese Grundfunktion haben
protected ModelAndView handleRequestInternal(...) {
...
return new ModelAndView("welcomePage", "WelcomeMessage", message);
}
Ich weiß, dass dies modelandView zurückgeben wird. Ich weiß, dass dies welcomePage
mein Name ist, was bedeutet , dass so etwas welcomepage.jsp
aufgerufen wird.
Aber ich bin verwirrt mit dem, was Modellteil ist. Was ist WelcomeMessage
und message
wie funktioniert Model in diesem Szenario?
spring
spring-mvc
Premraj
quelle
quelle
WelcomeMessage
, im zweiten Beispiel habe ich es genanntmodel
. Verwenden Sie einen Namen, der für Sie sinnvoll ist. Das dritte Argument enthält die Informationen ... es kann sich um eine einfache Zeichenfolge, ein POJO oder eine Karte handeln ... im Grunde genommen um nützliche Informationen, die Sie in der Ansicht anzeigen möchten.ist eine Abkürzung für
Wenn Sie sich den obigen Code ansehen, sehen Sie, dass der Ansichtsname "welcomePage" lautet. Ihr
ViewResolver
(normalerweise eingerichtet in.../WEB-INF/spring-servlet.xml
) übersetzt dies in eine Ansicht. Die letzte Zeile des Codes legt ein Attribut in Ihrem Modell fest (addObject("WelcomeMessage", message)
). Hier kommt das Modell ins Spiel.quelle
Das alles erklärt der Javadoc für den Konstruktor . Es ist ein Convenience-Konstruktor, der das Modell mit einem Attribut / Wert-Paar füllt.
So ...
ist äquivalent zu:
quelle
Hier in diesem Fall haben wir 3 Parameter in der Methode, nämlich ModelandView .
Nach dieser Frage ist der erste Parameter aus der Frage leicht zu verstehen. Es stellt die Ansicht dar, die dem Client angezeigt wird.
Die anderen beiden Parameter sind genau wie The Pointer und The Holder.
Daher können Sie es so zusammenfassen
ModelAndView ( Ansicht, Zeiger, Inhaber );
Der Zeiger zeigt nur auf die Informationen im Inhaber
Wenn der Controller die Ansicht mit diesen Informationen verbindet, können Sie in diesem Prozess mit dem Zeiger auf der JSP- Seite auf die in The Holder gespeicherten Informationen zugreifen , um dem Client diese respektierten Informationen anzuzeigen.
Hier ist die visuelle Darstellung des respektierten Prozesses.
quelle
Nun, WelcomeMessage ist nur ein Variablenname für die Nachricht (aktuelles Modell mit Daten). Grundsätzlich binden Sie das Modell hier mit der welcomePage. Das Modell (Nachricht) wird in welcomePage.jsp als WelcomeMessage verfügbar sein. Hier ist ein einfacheres Beispiel:
In diesem Fall ist mein Modell eine einfache Zeichenfolge (In Anwendungen ist dies ein POJO mit Daten, die für DB oder andere Quellen abgerufen wurden.). Ich weise es myVar zu und meine Ansicht ist hello.jsp. Jetzt ist myVar für mich in hello.jsp verfügbar und ich kann es für die Anzeige verwenden.
In der Ansicht können Sie jedoch auf die Daten zugreifen:
Ebenso können Sie über die Variable WelcomeMessage auf das Modell zugreifen.
quelle
ModelAndView: Der Name selbst erklärt, dass es sich um eine Datenstruktur handelt, die Modell- und Ansichtsdaten enthält.
Wenn das Modell nur einen einzigen Wert enthält, können wir wie folgt schreiben:
quelle
quelle