Start - Publikationen - Wissen - TOGAF - Impressum -

JSP Standard Actions


JSP Standard Actions sind JSP Anweisungen in xml Syntax die vom JSP Übersetzer erkannt und gemäß Spec interpretiert werden müssen.

jsp:useBean - Deklaration und Initialisierung einer Bean


<jsp:useBean id="logischerName" class="instanzKlasse" type="type" scope="request" />

stellt im angegebenen Scope (request, page, session, application) eine Beaninstanz zur Verfügung, die Beaninstanz wird erzeugt, wenn sie nicht schon da ist. An solchen Codestellen (wo sie erzeugt wird) muss die Instanzklasse mit class=".." angegeben werden. Wenn sichergestellt ist, dass die Bean an der betreffenden Stelle schon existiert, reicht auch die Angabe von type="..".

jsp:getProperty/setProperty - Lesen und Setzen von Eigenschaften aus Beans


<jsp:getProperty name="logischerNameDerBean" property="feldName" />

liest die Eigenschaft der Bean mit dem gegebenen Namen.

<jsp:setProperty name="logischerNameDerBean" property="feldName" value="Wert" />
setzt den Wert an der Bean direkt.
<jsp:useBean id="logischerName" class="instanzKlasse" type="type" scope="request">
  <jsp:setProperty name="logischerNameDerBean" property="feldName" value="Wert" />
</jsp:useBean>
setzt den Wert an der Bean aber nur im Moment ihrer Erzeugung.
<jsp:setProperty name="logischerNameDerBean" property="feldName" param="parameterName" />
setzt den Wert an der Bean mit dem Inhalt des gegebenen Parameters des Requests
<jsp:setProperty name="logischerNameDerBean" property="feldName" />
setzt den Wert an der Bean mit dem Inhalt des gleichnamigen Parameters des Requests.

Wirklich nützlich ist der Einsatz von '*', da hier automatisch alle Parameter eines Requests in die Bean übertragen werden.

<jsp:setProperty name="logischerNameDerBean" property="*" />
setzt alle Werte an der Bean mit den Inhalten der gleichnamigen Parameter des Requests.

Primitive Parameter (Boolean, Character, Double, Integer, Float, Long und Short) werden unter Einsatz der valueOf(String) Methoden der entsprechenden Wrapperklassen automatisch geparsed und konvertiert. Über Implementierungen von PropertyEditor und PropertyEditorSupport können auch komplexere Konvertierungen automatisiert werden.

jsp:attribute - Parameterübergabe für Tag Handler


Im Zusammenhang mit Tag Handler und Tagfiles für die Parameterübergabe.

jsp:forward - ein Forward zu einer anderen Seite


Wenn noch keine Responsedaten zum Client geschickt worden sind, kann mit

<jsp:forward page="tuWasAnderes.jsp" />
ein Forward zu einer anderen Ressource im gleichen Kontext ausgelöst werden. Startet die URL mit '/' wird sie relativ zur Anwendung, sonst relativ zur JSP interpretiert. Absolute URL sind nicht erlaubt. Ein solcher Forward löst KEIN Roundtrip zum Client aus, sondern er wird im Container abgewicklet, dabei wird technisch der aktuelle Request abgebrochen und bezogen auf die gegebene Ressource neu gestartet. Eine solche Anweisung muss rechtzeitig in der Logik der Abarbeitung eingebaut sein, da Responsedaten auch automatisch (wenn der JSP Responsebuffer voll ist) übertragen werden. Auf der sicheren Seite ist man, wenn noch gar keine Ausgaben geschrieben worden sind. Wenn der Responsebuffer abgeschaltet ist, kann diese Anweisung nicht zum Einsatz kommen.

Für einen Roundtrip zum Client (das ist dann kein Forward, sondern ein Redirect) nutzt man

response.redirect(someURL)

jsp:include / jsp:param - fügt Inhalte zur Laufzeit ein


<jsp:include page="header.jsp" />

Die angegebene Seite wird zur Laufzeit eingefügt, dann wird mit der Abarbeitung fortgefahren. Startet die URL mit '/' wird sie relativ zur Anwendung, sonst relativ zur JSP interpretiert. Absolute URL sind nicht erlaubt. Wenn Inhalte zur Laufzeit eingefügt werden sind auch Parameter möglich:

<jsp:include page="header.jsp">
  <jsp:param name="propName" value="wert" />
</jsp:include>
Der angegebene Parameter kann im Ziel mit EL ausgewertet werden (${param.propName}). Das sind im Vergleich zur include Direktive drei wesentliche Unterschiede:
  1. Inhalte werden zur Laufzeit eingefügt, statt statisch beim Übersetzen der JSP Seite. Insbesondere kann der Inhalt des Include-Ziels selber dynamisch sein.
  2. Parameter können übergeben werden.
  3. Der Wert für page kann parametrisiert sein.
copyright © 2003-2021 | Dr. Christian Dürr | prozesse-und-systeme.de | all rights reserved