Benutzerdefinierte Tags

Slides:



Advertisements
Ähnliche Präsentationen
Java-Servlets Gliederung: Allgemeine Informationen zu Servlets
Advertisements

DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
Einführung in die Programmierung Zusammenfassung
Objektorientierte Programmierung
Internetzugriff mit Strings und Streams
Java 2 Enterprise Edition (J2EE)
10 Streams JavaHS Merseburg WS 05/06 E/A - Ströme (Streams) in Java.
Abstrakte Klassen HS Merseburg (FH) WS 06/07.
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Threads Richard Göbel.
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
FH-Hof Servlets Richard Göbel. FH-Hof Konzept Servlets werden auf der Server-Seite durch ein Formular aufgerufen werten die Eingaben aus einem Formular.
FH-Hof Java Packages Richard Göbel. FH-Hof Das Modulkonzept für Java Packages dienen zur Strukturierung größerer Java- Programme Ein Package kann: eigene.
Java: Grundlagen der Objektorientierung
WHILE - Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
DO...WHILE Anweisung.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 5 Polymorphismus Sommersemester 2003 Lars Bernard.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden
MVC – ein Architekturmuster
XDoclet ETIS SS05.
Programmieren mit JAVA
Programmieren mit JAVA
PRJ 2007/1 Stefan Dissmann Motivation Problem: Benutztes Objekt kennt den Kontext seiner Nutzung nicht. Daher kann es in besonderen Situationen keine Entscheidung.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Remote Methode Invocation (RMI)
Packages Vortrag : Cornelia Hardt 23. November 1999.
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
DVG Klassen und Objekte
12-Drucken Drucken in JAVA. 12-Drucken2 Probleme beim Drucken: Es können nur graphische Informationen gedruckt werden. Die zu druckende Information muss.
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Einführung in die Programmierung Datensammlung
© 2005 Pohlig - Taulien Datenströme GK Informatik 1 Datenströme.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Einführung Servlets/JSPs
Applets Java für’s Web.
Seminar Internet - Technologie
1 Sg 3 – JSP - Java Server Pages Softwareengineering Praktikum Java Server Pages Nicole Brandstätter Josef Sturm Karl Streicher.
HORIZONT 1 XINFO ® Das IT - Informationssystem Java Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Einführung in JavaKara
Objectives Verstehen was unterDelegate verstanden wird
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Java-Kurs Übung Besprechung der Hausaufgabe Vererbung
Java Server Pages 2 und Benutzerdefinierte Tags Strahil Yordanov.
Java-Kurs Übung Besprechung der Hausaufgabe
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Java-Kurs Übung Besprechung der Hausaufgabe Vererbung
Tag-Libraries1 seit JSP Version 1.1 Sammlung selbst definierter Tags (Custom Tags) Tagdefinition: Body Tags halten sich an XML-Konvention Präfix bezeichnet.
Java Server Pages Technologie zur Erzeugung dynamischer Webseiten basierend auf Java-Servlets Blockseminar Wintersemester 2001/2002Jochen Pfeiffer Seite.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
JSTL - JSP Standard Tag Library
Reflection API1 Motivation Reflection API Core Reflection API: java.lang.reflect Seit JDK 1.1 integraler Bestandteil der Java- Klassenbibliothek Ermöglicht:
Software - Testung ETIS SS05.
Design Pattern1 Motivation Entwurfsmuster Entwurf wiederverwendbarer objektorientierter Software schwer gute Entwürfe entstehen durch Wiederverwen- dung.
Abstrakte Klassen und das Interface-Konzept
Tutorium Software-Engineering SS14 Florian Manghofer.
Tutorium Software-Engineering SS14 Florian Manghofer.
Dr. Wolfram Amme, Virtuelle Vererbung, Informatik II, FSU Jena, SS Auflösung von Konflikten bei Mehrfachvererbung Umbenennung mehrdeutiger Methoden.
Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)
Die Klasse Vielfrass in Java
 Präsentation transkript:

Benutzerdefinierte Tags ETIS SS04

Gliederung Motivation TagLibrary-Descriptor Tag-Handler Einfache Tag-Handler JSP-Fragmente Tags mit Attributen Zusammenfassung Tags ETIS SS04

Motivation Vorteile: Beispiel test.jsp: bessere Trennung Präsentation, Logik Lesbarkeit, Wiederverwendbarkeit, Wartbarkeit Beispiel test.jsp: <%@ taglib uri="/WEB-INF/custom.tld" prefix="test" %> <test:loop> Ausgabe </test:loop> Präfix dient zur Vermeidung von Namenskonflikten Tags ETIS SS04

TagLibrary-Descriptor(I) TagLibrary-Descriptor(TLD): simple.jsp: <taglib xmlns="http://java.sun.com/xml/ns/j2ee" ...> <tlib-version>1.0</tlib-version> <short-name>SimpleTagLibrary</short-name> <tag> <name>loop</name> <tag-class>tagtest/LoopAnz</tag-class> <body-content>scriptless</body-content> </tag> </taglib> Tags ETIS SS04

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 <name> <! - - Tagname - -> <tag-class> <! - - Tag-Handler zum Tag - -> <body-content> <! - - empty | scriptless | JSP | tagdependent - -> <attribute> <! - - Attribute des Tags - -> Tags ETIS SS04

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); }}} Tags ETIS SS04

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 Tags ETIS SS04

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 Tags ETIS SS04

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 Tags ETIS SS04

Tags mit Attributen im Tag-Handler: in TLD: set-Methoden für Attribute bereitstellen in TLD: Attribut vereinbaren <name> <!- - Attributname - -> <required> <!- - Attribut erforderlich false | true- -> <rtexprvalue> <!- - Attributwert zur Laufzeit durch Scriptlet zu bestimmen true ansonsten false- -> <fragment> <!- - Attribut == Fragment false | true - -> Tags ETIS SS04

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 Tags ETIS SS04

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 http://www.kinabaloo.com/jsp2.html Tags ETIS SS04