Inhalt | Abbildung | Source | SCWCD | |||
|< | < | > | >| | Generated by CoCoDiL |
Write JSP code that uses the directives: (a) 'page' (with attributes 'import', 'session', 'contentType', and 'isELIgnored'), (b) 'include', and (c) 'taglib'. |
Eine page Direktive informiert die JSP Maschine über Eingenschaften einer JSP Seite. Diese Eingenschaft betrifft nicht nur die aktuelle Seite, sondern auch die Seiten die mit der include Direktive eingebunden werden.
In der JSP 2.0 Spezifikation gibt es insgesamt 13 verschiedene Attribute, es werden lediglich nach der Objektive die folgenden Attribute für die Zertifizierung benötigt:
Attributname | Beschreibung | Default Werte |
import | Eine Liste von Java Klassen und Packages, die in der JSP Seite gebraucht werden | Keine Default Werte |
session | Falls true sollte die Seite Teil einer Session sein. Bei false ist zu dieser Seite keine implizite session Variable verfügbar | true |
contentType | Enthält den Mime Type und character encoding der Ausgabe | text/html bzw text/xml |
isELIgnored | falls true wird ein ${code} als normaler Text interpretiert und nicht ausgewertet | entsprechend Datei web.xml sonst false |
Beispiele:
Das import Attribut ist das einzigste Attribut innerhalb einer page Direktive die in einer Translation Unit mehrfach vorkommen können. Eine Translation Unit bezieht sich auf die akuelle JSP Seite und dijenigen die mit der include Direktive eingebunden werden.
Mit der Include Direktive wird zur Übersetzungszeit der JSP Seite in ein Servlet eine Datei eingebunden. Die include Direktive hat genau ein Attribut, nämlich file und enthält den Pfad zu einer Datei. Die Dateien die mit Include eingebunden werden gehören zu einer Translation Unit, d.h die aktuelle und eingebundene Dateien werden in ein Servlet übersetzt.
Wird benötigt um custom Tags zu definieren
In der Datei web.xml kann man den Pfad zur taglib Beschreibungs datei spezifizieren.
Die Taglib-URI muss ein eindeutiger Name für die Tag Lib Bibliothek sein. Man kann auch den Umweg über die web.xml Datei umgehen und direkt den Pfad zur tld.Datei in der taglib Direktive angeben. Allerdings verliert man dadurch die Flexibilität die tld-Datei zu verschieben oder umzubenennen.
Write a JSP Document (XML-based document) that uses the correct syntax. |
Es besteht die Möglichkeit JSP Seiten teilweise oder vollständig als XML-Dokumente anzulegen. Eine JSP Seite die vollständig als XML-Dokument angelegt ist (und damit wohlgeformt ist), nennt man JSP Dokument
Der Servlet Container erkennt i.a. nicht automatisch ob es sich um eine normale JSP Seite oder um ein JSP-Dokument handelt. Folgende Verfahren zur Indentifikation von JSP-Dokumenten gibt es:
Ein JSP-Dokument beginnt i.a. nicht mit dem typischen xml Kopf <?xml version="1.0" ?> Wird ein jsp:root Element verwendet, so muss das oberste Element xml sein. Es hat zwingend das Attribut version, dessen Werte "2.0" oder "1.2" sein musss. Ausserdem wird es benutzt um Namensräume zu deklarieren.
Die Namespaces werden verwendet um Tag-Bibliotheken der Aktionen zu deklarieren.
Es gibt keine spezielle Tags für Kommentare um einen Kommentar von einer JSP-Seite umzuwandeln sollte man einen normalen xml Kommentar verwenden.
Template Texte werden durch das Element jsp:text deklariert. Man muss aufpassen dass durch den Template Text die XML Syntax nicht verletzt wird.
Beispiel eines ungültigen Template Textes
Das > Zeichen ist innerhalb eines xml-Elements nicht erlaubt. Ersetze in diesem Fall das > Zeichen durch gt
Deklarationen
Es wird das Element jsp:declaration verwendet. Dieses Element hat keine Attribute
Skripte
Es wird das Element jsp:scriptlet verwendet. Dieses Element hat keine Attribute
Expressions
Es wird das Element jsp:expression verwendet. Dieses Element hat keine Attribute
Bei Page Direktiven wird das Element jsp:directive.page verwendet. Bei Include Direktiven wird das Element jsp:directive.include verwendet.
Beispiel:
Eine Namensraumdeklaration kann auch mitten in einem Element stehen, und gilt dann für dieses Element und den untergeordneten Elementen.
Inhalt | Abbildung | Source | SCWCD | |||
|< | < | > | >| | Generated by CoCoDiL |