2010-12-14 6 views
6

Ich habe Dokumente und Tutorials über Frühling (3.0) gelesen, also habe ich gelernt, wie man eine 10 mit dem JSP-Namen und einer Karte als Modell zurückgibt. Ich habe auch gelernt, dass in einer JSP, wenn Sie auf einen Schlüssel der Karte zugreifen möchten, Sie ${attributename} und so weiter tun. Das ist JSP EL. Jetzt meine Fragen:Wohin geht das Spring Model, das an eine JSP übergeben wird?

  • Welches Objekt der Seite ist der Zugriff EL? Ist das PageContext? Ich habe versucht, diese Schlüssel in PageContext.getAttribute zu finden, aber sie sind nicht da.
  • Was auch immer das Objekt ist, ist es automatisch, dass die Dinge im Modell dorthin gehen?

Fühlen Sie sich frei um Ressourcen hinzuzufügen, meine Ideen

Antwort

6

Wenn Sie etwas tun, wie ${attributename}, JSP EL überprüfen eine Vielzahl von Quellen wird zu klären, um es zu finden, einschließlich der Seite und fordern Kontexte (in dieser Reihenfolge).

Wenn Ihre Spring-Controller ein Modell zurückgibt (zB innerhalb der ModelAndView), dieses Modell von Spring AbstractView Klasse und in den Anforderungskontext (dies ist die „Magie“ Teil) zerlegt wird, so dass, wenn Ihr JSP EL Ausdruck bezieht sich zu einem Artikel aus dem Modell, kann es verwendet werden.

0

Sie werden normalerweise in der Anfrage gespeichert. So sollte request.getAttributeNames() Sie alle Ihr Modell geben (aber das nur für Bildungszwecke verwenden - ansonsten EL verwenden, um auf das Modell zuzugreifen). Das heißt, es sollte auch von der pageContext (im Anforderungsbereich) zugänglich sein.

Und ja, es wird automatisch hinzugefügt.

+0

danke, natürlich werde ich EL verwenden, aber ich wollte wissen, was passiert. – gotch4

Verwandte Themen