Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Benutzerdefinierte Tags ETIS SS04. Tags 2 Gliederung Motivation TagLibrary-Descriptor Tag-Handler –Einfache Tag-Handler –JSP-Fragmente Tags mit Attributen.

Ähnliche Präsentationen


Präsentation zum Thema: "Benutzerdefinierte Tags ETIS SS04. Tags 2 Gliederung Motivation TagLibrary-Descriptor Tag-Handler –Einfache Tag-Handler –JSP-Fragmente Tags mit Attributen."—  Präsentation transkript:

1 Benutzerdefinierte Tags ETIS SS04

2 Tags 2 Gliederung Motivation TagLibrary-Descriptor Tag-Handler –Einfache Tag-Handler –JSP-Fragmente Tags mit Attributen Zusammenfassung

3 ETIS SS04Tags 3 Motivation Vorteile: –bessere Trennung Präsentation, Logik –Lesbarkeit, Wiederverwendbarkeit, Wartbarkeit Beispiel test.jsp: Ausgabe Präfix dient zur Vermeidung von Namenskonflikten

4 ETIS SS04Tags 4 TagLibrary-Descriptor(I) TagLibrary-Descriptor(TLD): simple.jsp: 1.0 SimpleTagLibrary loop tagtest/LoopAnz scriptless

5 ETIS SS04Tags 5 TagLibrary-Descriptor (II) XML-Datei, beschreibt: –welche Tags Tag-Library bereitstellt bzw. –die Eigenschaften der Tags –legt für jedes Tag die Tag-Handler-Klasse fest

6 ETIS SS04Tags 6 Tag-Handler(I) Tag-Handler: TagTest/LoopAnz.java package tagtest; import...; public class LoopAnz extends SimpleTagSupport{ public void doTag() throws JspException, IOException{ JspWriter out = getJspContext().getOut(); JspFragment f = getJspBody(); for (int i = 0; i < 4; i++) { f.invoke(out); }}}

7 ETIS SS04Tags 7 Tag-Handler (II) Dient Ausführung der Tags in JSP-Seiten Klassen, die Tag-Handler-Interface implementieren –ab JSP 2.0: einfacher Tag-Handler (JSP 1.2: drei Interfaces) vereinfachtes Protokoll möglich, durch: –keine Skripte im Rumpf der Tags –kein Caching von Tag-Handler-Instanzen Nutzung des vereinfachten Protokolls durch: –Interfaces SimpleTag implementiert oder TagFiles

8 ETIS SS04Tags 8 Einfache Tag-Handler TagHandler erbt von SimpleTag (SimpleTagSupport) –i.d.R. nur doTag zu überschreiben –Tagauswertung: JSP-Container instanziert TagHandler- Klasse –nur 1 x Aufruf doTag –danach Instanz nicht mehr verwendet Zugriff auf Tag-Rumpf mit getJspBody –invoke(null): Ausführung Fragment + Ausgabe Ergebnis –invoke(/*Writer*/): soll Rumpf verändert werden, Writer- Objekt zu übergeben

9 ETIS SS04Tags 9 JSP-Fragmente Kapseln zusammenhängende Teile von JSP-Seiten –Teile bestehen nur aus Templates + Aktionen (inkl. JSP-EL) –Verwendung von Skripten nicht möglich Fragmente werden in Klassen übersetzt, die Interface JspFragment implementieren –Interface definiert nur Methode invoke zum Ausführen des Fragments –sind beliebig oft ausführbar –haben Zugriff auf Variablen der Jsp-Seiten

10 ETIS SS04Tags 10 Tags mit Attributen im Tag-Handler: –set-Methoden für Attribute bereitstellen in TLD: –Attribut vereinbaren

11 ETIS SS04Tags 11 Zusammenfassung Präsentation + Logik besser getrennt JSP 2.0 bringt viele Vereinfachungen im Umgang mit Tags –vereinfachtes Protokoll (einfache Tags) –Tag Files viele weiter Möglichkeiten, z.B. –verschachtelte Tags –dynamische Attribute Tag-Library = Tag-Library-Decriptor + Tag-Handler

12 ETIS SS04Tags 12 Literatur Turau, V., Saleck, K., Lenz, C., Web-basierte Anwendungen entwickeln mit JSP2, dpunkt.verlag, Heidelberg, 2004 Wille, S., Go To Java Server Pages, Addison- Wesley, München, 2001


Herunterladen ppt "Benutzerdefinierte Tags ETIS SS04. Tags 2 Gliederung Motivation TagLibrary-Descriptor Tag-Handler –Einfache Tag-Handler –JSP-Fragmente Tags mit Attributen."

Ähnliche Präsentationen


Google-Anzeigen