Inhalt

JSP - Aktionen

Mit den sogenannten Java Server Pages-Aktionen hat man ein Mittel geschaffen, aus einer JSP heraus Objekte zu erzeugen bzw. zu Manipulieren. Sie bieten auch die Möglichkeit, den vorgegebenen Ablauf der JSP zu verändern, indem die Anfrage an eine andere JSP weitergeleitet werden kann.
Die Aktionen werden grob in zwei Kategorien eingeteilt:

  1. Standardaktionen

  2. selbst definierte Tags
    Die Java Server Pages erlauben dem Programmierer, eigene Tags zu definieren, die dann einfach in der JSP anzuwenden sind und den JSP-Aktionen in ihrem Aussehen gleichen. Eine Beschreibung dieser Methode befindet sich im Abschnitt eigene Tags definieren.

die Aktion 'include'

Die Aktion include gibt es in zwei verschiedenen Varianten:
Das Verwenden dieser Aktion bewirkt (im Gegensatz zur include-Direktive) ein Anhalten der Verarbeitung der aktuellen JSP. Die Kontrolle wird an die im URL angegebenen JSP weitergegeben, die ihrerseits weitere Ausgaben zum Client erzeugen kann. Nach Ablauf dieser "eingeschobenen" JSP wird die ursprüngliche Verarbeitung wieder aufgenommen. Das Attribut flush kann bisher nur den Wert true annehmen und ist somit ohne Bedeutung. Ein Vorteil der Aktion include gegenüber der gleichnamigen Direktive ist die Möglichkeit, das Verweisziel erst zur Laufzeit durch Verwendung eines Java-Ausdrucks zu bestimmen.
In der Form mit <jsp:param ... /> können Anfrage-Parameter an die aufgerufene Java Server Page übermittelt werden.


die Aktion 'forward'

Die Aktion include gibt es in zwei verschiedenen Varianten:
Trifft die Abarbeitung einer JSP auf die Aktion forward, so wird die Verarbeitung gestoppt und die in dem URL angegebene JSP aufgerufen. Anders, als bei der Aktion include wird aber nicht mehr zur aufrufenden Seite zurückgesprungen.
Es besteht ebenfalls die Möglichkeit, mit <jsp:param ... /> Parameter an die aufgerufene Seite zu übermitteln.


die Aktion 'plugin'

<jsp:plugin
    type="bean | applet"
    code="objectCode"
    codebase="objectCodeBase"
    [name="instanceName"]
    [archive="URI, ..."]
    [jreversion="VersionNumber"]
    [nspluginurl="URL"]
    [iepluginurl="URL"]
  ...
    [<jsp:params>
        <jsp:param name="parameterName"
            value="Wert"/>+
    </jsp:params>]
    [<jsp:fallback> Hilfetext </jsp:fallback>]
</jsp:plugin>

Die Aktion plugin unterstützt das Einbinden von Java-Applets sowie JavaBeans, die auf der Client-Seite mittels eines Browser-Plugin's ausgeführt werden. Der JSP-Server prüft mithilfe des vom Client übertragenen USER-AGENT - HTTP-Headers, ob dieser in der Lage ist, z.B. ein Java-Applet auszuführen. Falls nicht, wird der durch <jsp:fallback ...> angegebene Hilfetext anstatt des Applets in den HTML-Code eingefügt.
Es folgt eine kurze Erklärung der einzelnen Angaben innerhalb von <jsp:plugin ...> :

Name

Bedeutung

type Art der eingebetteten Komponente. Mögliche Werte: Bean oder Applet
code Name der auszuführenden Klasse
codebase Pfadangabe der auszuführenden Klasse
archive Liste von Archiven mit Klassen und anderen Ressourcen
name Name einer Komponente für Skriptsprachen
jreversion für die Ausführung erforderliche Versionsnummer. Defaultwert: 1.1
nspluginurl URL des Plugin's für Netscape-Browser
iepluginurl URL des Plugin's für Internet-Explorer

Es können zusätzlich noch die Attribute align, height, width, hspace und vspace angegeben werden. Die Bedeutung ist die selbe wie beim Einbinden von Grafiken in HTML.
Ausserdem können Parameter an das Applet übergeben werden. Hierbei müssen allerdings die <jsp:param ...> - Einträge in einem <jsp:params ...> - Eintrag eingeschlossen werden.


die Aktion 'fallback'

siehe Aktion plugin


die Aktion 'usebean'

<jsp:useBean
    id="beanInstanceName"
    scope="page | request | session | application"
    class="package.class" |
    type="package.class" |
    class="package.class" type="package.class" |
    beanName=" { package.class | <%= expression %> }"
      type="package.class"
>
... evtl. andere Elemente / Aktionen ...
</jsp:useBean>

Mit der oben angegebenen Syntax werden JavaBeans in Java Server Pages integriert. Die Bean ist nach Ausführung der Aktion unter dem bei id angegebenen Namen innerhalb der JSP erreichbar und kann entweder mittels der Aktionen setProperty und getProperty oder mit gewöhnlichen Methodenaufrufen innerhalb von JSP-Scriptlets verwendet werden.
Die Angabe der zu verwendenden Klasse und die Art der Objekt-Erzeugung kann durch die Attribute class, type und beanName auf unterschiedliche Weisen erfolgen:
Das Attribut scope bestimmt, in welchem Gültigkeitsbereich die Bean erstellt werden soll:



die Aktion 'setproperty'

<jsp:setProperty
    name="beanInstanceName"
    { property="*" |
    property="propertyName" [ "param=parameterName" ] |
    property="propertyName"
      value="{ string | <%= expression %> }" }
/>

Mit der Aktion setProperty wird einer Eigenschaft einer JavaBean ein Wert zugewiesen. Die Bean wird mit name=... identifiziert. Die zu setzende Eigenschaft wird bei property=... angegeben und der Wert steht in value=....
Die Zeile <jsp:setProperty name="myBean" property="Counter" value="123" /> ist vergleichbar mit folgendem Methodenaufruf:
myBean.setCounter("123");


die Aktion 'getproperty'

<jsp:getProperty
    name="beanInstanceName"
    property="propertyName" />

Mit der Aktion getProperty werden Eigenschaften von JavaBeans abgerufen. Dabei müssen der Name der Bean sowie die gewünschte Eigenschaft angegeben werden.
Die Zeile <jsp:getProperty name="myBean" property="Counter" /> ist vergleichbar mit folgendem Methodenaufruf:
myBean.getCounter();
Bei Benutzung der Aktion getProperty wird allerdings das Ergebnis direkt in die erzeugte HTML-Seite eingefügt.


param / params

Mit diesen Angaben werden in den einzelnen Aktionen Parameter an andere Java-Objekte oder andere JSP's weitergereicht.
param / params finden Verwendung in:

Inhalt