JSP Skriptelemente

Zugriff auf Standardvariable

Standardvariable stehen innerhalb der gesammten JSP Seite z.B. in Scriptlets zur Verfügung. Diese Variablen werden beim Start der Seite automatisch angelegt. Standardvariablen werden auch als implizite Objekte (implicit objects) bezeichnet.

Folgende Standardvariablen sind für JSP-Seiten definiert:

applicationjavax.servlet.ServletContext
configjavax.servlet.ServletConfig
exceptionjava.lang.Throwable
outjavax.servlet.jsp.JspWriter
pagejava.lang.Object
pageContextjavax.servlet.jsp.PageContext
requestjavax.servlet.ServletRequest
responsejavax.servlet.ServletResponse
sessionjavax.servlet.http.HttpSession

Ausdrücke definieren

Mithilfe eines JSP-Ausdrucks kann das Ergebnis einer Java-Anweisung in die Ergebnisseite eingefügt werden. Die allgemeine Form eines Java-Ausdrucks ist:

<%= Java-Asudruck %>

Im Listing JSP1.jsp fügt die Zeile:

<%= new java.util.Date() %>

das aktuelle Datum in das HTML Dokument ein.

Listing: JSP1.jsp

<html>
  <body>
    <h1>My first JSP</h1>
    Today is:
    <%= new java.util.Date() %>
  </body>
</html>

JSP-Ausdrücke werden nicht mit einem Semikolon abgeschlossen. Das Ergebnis eines JSP-Ausdruckes muss ein String bzw. Objekt sein, dessen toString()-Methode aufgerufen wird.

Hinzufügen von Java-Code (Scriptlets)

Mithilfe von Scriptlets lässt sich beliebiger Java-Code in eine JSP Seite einbinden. Es können z.B Schleifen oder Verzweigungen definiert werden. Es lässt sich die komplette Java-Bibliothek inklusive eigener Klassen verwenden.

Die allgemeine Form eines Scriptlets ist:

...
<%
  ...
  ...
%>
            

Innerhalb eines Scriptlets werden die einzelnen Java Anweisungen wie gewohnt durch ein Semikolon abgeschlossen. Um auf den Ausgabestrom zugreifen zu können steht die Standardvariable out zur Verfügung.

Deklarationen

Mit Hilfe von JSP-Deklarationen werden Variablen und Methoden, die von der gesamte JSP-Seite aus aufgerufen werden können, definiert. Die allgeine Form einer Deklaration ist:

...
<%!
  ...
  ...
%>
            

Innerhalb eines Deklarationsblockes können mehrere Deklarationen vorgenommen werden.