17.13 Aktionen
Aktionen in JSP verändern das Verhalten des Servlet-Containers. Externe Daten können eingebunden werden (mit einer anderen Semantik, als es die include-Direktive macht), Seiten können umgeleitet und es kann auf externe Objekte verwiesen werden. Für einzelne Aktionen existieren keine Tags, sie werden in XML-Anweisungen gesetzt. Die wichtigsten sind: jsp:include, jsp:forward und jsp:plugin. Die interessanteste Möglichkeit ist dabei, JavaBean zu nutzen. Dafür wurden jsp:useBean, jsp:setProperty und jsp:getProperty definiert.
17.13.1 Aktion include
Die Aktion <jsp:include page="url"/> bindet den Inhalt einer Datei ein. Das optionale Attribut flush="true|false" steuert, ob vor der Verarbeitung und der Unterdatei das Ergebnis zum Browser geschickt werden soll.
Die Unterseite behält die Objekte request und session bei, bekommt aber ein neues pageContext-Objekt. Falls die JSP der Unterseite in der Zwischenzeit neu übersetzt wurde, so wird sie automatisch von der aufrufenden JSP erkannt. Im Gegensatz zur include-Direktive ist die Aktion include dynamisch, kann also zur Laufzeit auf unterschiedliche Seiten verweisen.
17.13.2 Aktion forward
Mit der Aktion <jsp:forward page="url"/> verzichtet die JSP auf eigene Ausgaben und leitet auf eine andere Seite weiter, die die Ausgabe erstellt. Ähnlich wie bei der Aktion include kann die Weiterleitungs-URL dynamisch sein. Nehmen wir an, in einem Request-Parameter p steht eine Ganzzahl, die für eine Web-Seite steht. Dann können wir eine URL zusammensetzen und an eine JSP mit dem Namen des Parameters weiterleiten:
<jsp:forward page='<%= p + ".html"%>' %>
17.13.3 Aktion plugin
Die Aktion plugin bindet ein Applet oder eine JavaBean ein. Der JSP-Server kann mit Hilfe des HTTP-Headers user-agent überprüfen, ob der Client Applets ausführen kann. Falls nicht, wird ein angegebener Hilfetext eingebunden.
<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>
Zusätzlich sind noch die Attribute align, height, width, hspace und vspace erlaubt. Sie haben die gleiche Bedeutung wie Grafiken. Die Parameter für das Applet liegen in <jsp:params>. Die anderen Attribute bedeuten:
Name
|
Bedeutung
|
type
|
Bean oder Applet
|
code
|
Name der Klasse
|
codebase
|
Pfad der Klasse
|
archive
|
Liste von Archiven
|
name
|
Name einer Komponente für Skriptsprachen
|
jreversion
|
Nötige Versionsnummer der JRE. Der Standardwert ist 1.1.
|
nspluginurl
|
URL des Plugins für Netscape-Browser
|
iepluginurl
|
URL des Plugins für Internet-Explorer
|
|