Ein Beispiel
Nach so viel Theorie zurück zu der Websheet-Beispielapplikation aus den beiden letzten Folgen des Coffee-Shops, der Quellcode ist wie immer über[6] verfügbar. Einer der Anwendungsfälle ist die Suche nach Datensätzen und die Anzeige der Suchergebnisse. In Listing 2 ist der entsprechende JSP-Code der Ergebnisseite zu sehen, Abbildung 1 zeigt die Umsetzung in einem Browser.
Die Seite verwendet eine Reihe der Core-Tags. »<c:choose>« zusammen mit »<c:when>« und »<c:otherwise>« implementiert ein einfaches If-then-else, wie es aus Programmiersprachen bekannt ist (es gibt auch noch ein »<c:if>«, jedoch ohne Else-Zweig). In dem Beispiel wird die Ergebnistabelle nur ausgegeben, wenn tatsächlich Ergebnisse vorliegen.
Innerhalb der Ergebnistabelle erfolgt die Ausgabe der Tabellenzeilen mittels »<c:forEach>« (Zeilen 40 bis 49). Das ist ein sehr mächtiges Tag, da es als »items«-Attribut verschiedenste Objektmengen (zum Beispiel Collections, Strings, Arrays) erlaubt. Der Zugriff auf die einzelnen Objekte erfolgt über die im »var«-Attribut genannte Variable. Sind die Objekte selbst Beans, kann auf die Objekt-Attribute wieder mit der EL zugegriffen werden (Zeilen 44 bis 47). Das Core-Tag »<c:out>« wird hier für die Ausgabe verwendet.
URL-Rewriting ist mit der Core-Bibliothek ebenfalls einfach geworden. Zeile 33 schreibt die Action-URL um, damit die Anwendung auch ohne Cookies funktioniert.
finally{}
Schon das hier gezeigte kleine Anwendungsbeispiel zeigt die Mächtigkeit von Taglibs. Insbesondere in Vergleich zu Listing 1 fällt die deutlich bessere Lesbarkeit auf. Wer sich intensiver mit der JSTL beschäftigen möchte, sei auf die Online-Texte[4],[5] oder[7] verwiesen. Auch das Buch von Hans Bergsten[8] ist empfehlenswert.
In eigenen Projekten funktionieren Taglibs allerdings nur, wenn Webautoren und Java-Programmierer eng zusammenarbeiten. Gerade wenn Anwendungen wie so oft unter hohem Zeitdruck entstehen, bieten sich Quick-and-dirty-Lösungen mit Javacode innerhalb von JSP-Seiten geradezu an - manchmal sind sie tatsächlich die einzige Lösung, um enge Termine zu halten. Dabei sind Taglibs sehr einfach zu implementieren. Wie das im Einzelnen funktioniert, beschreibt die nächste Folge an einem kleinen Beispiel. (uwo)
|
Um die JSTL in eine Webapplikation für 1.1-Container einzubinden, sind drei Schritte notwendig. Zuerst kopiert man wie üblich die JAR-Dateien aus dem »lib«-Unterverzeichnis der JSTL-Distribution nach »WEB-INF/lib«. Ähnlich bei den TLD-Dateien. Diese liegen im »tld«-Unterverzeichnis der Distribution und landen direkt im »WEB-INF«-Verzeichnis. Im Entwicklungsprozess bietet sich eine Ant-Task für die Durchführung der notwendigen (einmaligen) Kopierschritte an.
Die Verknüpfung mit den Taglib-Directiven in den JSP-Seiten erfolgt dann über Taglib-Einträge in der Anwendungs-Konfigurationsdatei »web.xml«. Letztlich muss der Servlet-Container ja wissen, in welcher Klasse er die Implementation der Tags suchen muss. Listing 3 zeigt dies für die Core-Bibliothek.
Die Taglib-URI muss identisch zum URI-Attribut der Taglib-Directive sein (und sollte auch der URI aus der TLD entsprechen). Das Taglib-Location-Tag (Zeile 27 in Listing 3) verweist auf die entsprechende TLD-Datei.
JSP-1.2-Container sind etwas intelligenter. Sie durchsuchen alle JAR-Bibliotheken nach TLD-Dateien (innerhalb des jeweiligen »META-INF«-Verzeichnisses) sowie das »WEB-INF«-Verzeichnis der Anwendung. Die Zuordnung Tag zu Java-Klasse erfolgt dann über die Kette Tag-Präfix -> URI der Taglib-Directive -> URI innerhalb der TLD-Datei -> Zuordnung Java-Klasse je Tag-Name innerhalb der TLD-Datei.
|
|
Bernhard Bablok arbeitet bei der Allianz Versicherungs AG im Bereich Data-Warehouse-Systeme. Wenn er nicht Musik hört, mit dem Radl oder zu Fuß unterwegs ist, beschäftigt er sich mit Themen rund um Objektorientierung. Er ist unter [coffee-shop@bablokb.de] zu erreichen.
|
| Whitepaper |
|
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele (Folge 2)
Der zweite Teil des Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele White Papers beleuchtet anhand weiterer ausgewählter Case Studies die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.
Download PDF (Registrierung erforderlich)
|
|
Usage Landscape Enterprise Open Source Data Integration
Die Nachfrage nach Datenintegrationslösungen für Unternehmen ist zunehmend gestiegen und vor allem das Interesse an Open Source Technologien wird immer größer. Doch wie und von wem werden Open Source Datenintegrationslösungen genutzt und welches Nutzungsverhalten lässt sich daraus ableiten? Das vorliegende White Paper präsentiert die Erfahrungswerte von über 1000 Open Source Nutzern und liefert fundierte Antworten auf diese Fragen.
Download PDF (Registrierung erforderlich)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|