JSTL - JSP Standard Tag Library

Slides:



Advertisements
Ähnliche Präsentationen
Cloud42 Dominik Muhler Seminar StuPro cims cims.
Advertisements

Technischer Systemüberblick
MS Office-Paket: Access
eXist Open Source Native XML Database
Bastian Cramer, Universität Paderborn Entwurfsmuster für Webanwendungen Projektgruppe: Generierung von Webanwendungen aus visuellen Spezifikationen.
Java 2 Enterprise Edition (J2EE)
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
FH-Hof Einbindung von JavaScript Anweisungen
XINDICE The Apache XML Project Name: Jacqueline Langhorst
XQuery – String Funktionen Datenbanktechnologie / SS 2012 / Leonard Claus.
© 2002 Prof. Dr. G. Hellberg 1 XML-Seminar XML-Technologie: XML in Theorie und Praxis Prof. Dr. G. Hellberg XML-Technologie: XML in Theorie und Praxis.
Modularization of XHTML™
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Einführung XML XML Einführung Andreas Leicht.
Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden
MVC – ein Architekturmuster
Tomcat (I) Ende 1999 Jakarta-Projekt von Apache, IBM und Sun gegründet
Das Build-Tool ANT ETIS SS05. ETIS SS05 - Nadine FröhlichANT 2 Gliederung Motivation Build - Datei –Allgemeiner Aufbau –Project –Target –Task –Properties.
Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung.
XDoclet ETIS SS05.
Sebastian Hirsch Sascha Neuhaus
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
Tobias Högel & Dennis Böck,
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
Coccon das Web-XML-Publishing System Thomas Haller.
XSLT.
Einführung in das Programmieren mit JavaScript Mag. Andreas Starzer weloveIT – EDV Dienstleistungen.
Abschlusspräsentation Titel der Seminararbeit
Seminar Internet - Technologie
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 3 Folie 2 Windows Presentation Foundation (WPF) s.a.
1 Sg 3 – JSP - Java Server Pages Softwareengineering Praktikum Java Server Pages Nicole Brandstätter Josef Sturm Karl Streicher.
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
Statuspräsentation Titel der Seminararbeit
Sesame Florian Mayrhuber
Allgemeines zu Datenbanken
Java Server Pages Sergej Keterling
JavaServer Faces Urs Frei. Inhalt JSF Funktionsweise Rückblick JSP Bestandteile von JSF So einfach ist die Anwendung (Beispiel) Eclipse im Einsatz (Entwicklungsumgebung)
Purga - Scriptengine Ein Einblick.
Dynamische Webseiten-Generierung
PHP: Operatoren und Kontrollstrukturen
Daten- und Metadatenstandards SoSe 2009 IT-Zertifikat der Philosophischen Fakultät der Universität zu Köln Dozent: Patrick Sahle 26. Juni 2009: Dublin.
XQuery 1.0 – Arbeitsweise Mögl. Eingaben Das wird berücksichtigt: Typen von XPath und XML Schema Namensräume, Module Ergebnis: XML-Instanz.
Webbasierte Verwaltung von Raumbelegungen
Datenbanken im Web 1.
(Syntax, Strings/Zahlen, Variablen, Arrays)
Geoinformation3 Geoinformation III XML Grundlagen und Dokumentspezifikation Vorlesung 12b.
Java Server Pages 2 und Benutzerdefinierte Tags Strahil Yordanov.
1 Einführung TOMCAT Entwicklung Technischer Informationssysteme SS 2003 Florian Müller.
Geoinformation3 Geoinformation III XML Grundlagen, Namensräume und Hyperlinks Vorlesung 12b.
Tag-Libraries1 seit JSP Version 1.1 Sammlung selbst definierter Tags (Custom Tags) Tagdefinition: Body Tags halten sich an XML-Konvention Präfix bezeichnet.
Benutzerdefinierte Tags
Java Server Pages Technologie zur Erzeugung dynamischer Webseiten basierend auf Java-Servlets Blockseminar Wintersemester 2001/2002Jochen Pfeiffer Seite.
Frameworks
J2EE-Motivation(I) Anforderungen an heutige Software u.a.:
Reflection API1 Motivation Reflection API Core Reflection API: java.lang.reflect Seit JDK 1.1 integraler Bestandteil der Java- Klassenbibliothek Ermöglicht:
Das Build-Tool ANT ETIS SS04. ant 2 Gliederung Motivation Build-Datei build.xml Bestandteile build.xml –Properties Zusammenfassung.
/14Mohamed Sabbar, Medieninformatik - Fachseminar 14/12/09 Java Server Faces (JSF) „JSF“ ist mehr als nur eine Insel Fachseminar WS 09/10 Mohamed Sabbar.
Design Pattern1 Motivation Entwurfsmuster Entwurf wiederverwendbarer objektorientierter Software schwer gute Entwürfe entstehen durch Wiederverwen- dung.
Dieser Vortrag wird gesponsort von:
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #1 Datenmanagement.
1 JavaServer Pages Stephan Baldes JavaServer Pages Einführung
Oracle ADF FacesSeite 1 Oracle ADF Faces OPITZ CONSULTING Oracles Implementierung der JavaServer Faces Spezifikation.
Jakarta Struts Quasi-Standard für JSP-basierte Entwicklung: Jakarta Struts Key Features von Struts: Implementierung des Action-Command-Pattern („Model.
Wesentliche Bestandteile:
 Präsentation transkript:

JSTL - JSP Standard Tag Library ETIS SS04

Gliederung Motivation Bestandteile core - Kernfunktionalität function - Funktionen fmt - Formatierung / Internationalisierung Zusammenfassung JSTL ETIS SS04

Motivation (I) ZIEL JSP: Web-Designer Arbeit mit Servlets ermöglichen ABER: eingebetteter Java-Code ist problematisch DAHER: Custom Tag Libraries mit JSP 1.1 Tag-Library-Descriptor: XML-Datei, beschreibt, welche Tags die Library bereitstellt für jedes Tag eine Tag-Handler-Klasse festgelegt Tag-Handler, Java-Klassen, legen Aktionen bei Auftreten eines Tags fest Tag-Handler Tag-Library = Tag-Library-Decriptor + JSTL ETIS SS04

Motivation (II) Standardisierte Tag Libraries fehlten lange JSTL (JSP Standard Tag Library) kapselt Kernfunktionalität, die vielen Webanwendungen gemeinsam ist (Iterationen, Internationalisierung, ...) Spezifikation unter JSR-52 „A Standard Tag Library for JavaServer Pages“ in JCP erarbeitet Referenzimplementierung vom Jakarta Taglibs-Projekt aktuell Version 1.1 – JSP 2.0 mit JSTL Einführung der Expression Language (EL) GUIs nicht durch JSTL abgedeckt  Entwicklung: JSF JSTL ETIS SS04

Bestandteile Tag-Bibliothek Aufgabe core Grundlegende Tags (für Schleifen, Bedingungen, Ausnahmebehandlung) fmt Internationalisierung, Datums- und Zahlenformatierung sql Tags zur Einbindung relationaler DBs xml Umgang mit XML (Parsen, Transformieren von XML-Dokumenten) functions Funktionen v.a. zur Verarbeitung von Zeichenketten JSTL ETIS SS04

Core – Kernfunktionalität (I) Bedingte Ausführung mit Scriptlets: <% if (comic.isBestseller()) { %> <b>Bestseller!</b> <% } %> mit Tags: <%@ taglib prefix=“c“ uri=“http://java.sun.com/jsp/jstl/core“ %> <c:if test = “${comic.bestseller}“> </c:if> JSTL ETIS SS04

Core – Kernfunktionalität (II) Bedingte Ausführung (entspricht if-then-else) <%@ taglib prefix=“c“ uri=“http://java.sun.com/jsp/jstl/core“ %> <c:choose> <c:when test="${comic.bestseller}"> <c:out value="Bestseller"/> </c:when> <c:otherwise> <c:out value="Buch"/> </c:otherwise> </c:choose> JSTL ETIS SS04

Core - Kernfunktionalität (II) Schleifen <%@ taglib prefix=“c“ uri=“http://java.sun.com/jsp/jstl/core“ %> <c:forEach var=“autor“ items=“${comic.autoren}“> <c:out value=“${autor.name}“/> </c:forEach> items: als Scoped Variable gespeicherte Collection Scoped Variable: in einem Gültigkeitsbereich (page, request, session, application) einer Web-Anwendung gespeichertes Objekt var: Name einer Scoped Variable (enthält aktuellen Wert der Iteration) JSTL ETIS SS04

Core - Kernfunktionalität (III) Weitere Funktionalitäten: Ausnahmebehandlung <c:catch ...> Links + Redirects <c:url ...> <c:redirect ...> Einbinden externer Ressourcen <c:import ...> JSTL ETIS SS04

function - Funktionen Funktionen v.a. zur Verarbeitung von Zeichenketten Beispiele: contains(string, substring) join (collection, separator) toLowerCase(string) trim(string) konkretes Beispiel: <%@ taglib prefix=“c“ uri=“http://java.sun.com/jsp/jstl/core“ %> Autoren: ${fn:join(buch.autoren, “, “)} JSTL ETIS SS04

fmt – Internationalisierung/Formatierung (I) Internationalisierung (kurz: I18N) Anwendung für Benutzer verschiedener Sprachen zugänglich machen Text in Sprache des Anwenders Datumsangaben + Zahlen landesabhängig anstelle fest angegebener Zeichenketten treten Schlüssel in einer Art Zeichenkettentabelle (Resource Bundle) Ressource Bundle i.d.R. als Properties Datei gespeichert #Message_en.properties welcomePage.title = Welcome! welcomePage.button.submit = Submit Sprache im Datei-namen kodiert JSTL ETIS SS04

fmt – Internationalisierung/Formatierung (II) JSP-Seite: <%@ taglib prefix=“c“ uri=“http://java.sun.com/jsp/jstl/fmt“ %> <fmt:bundle bundle=“etis.jstl.Messages“ prefix=“welcomePage.“> <fmt:message key=“title“/> </fmt:bundle> hierbei: implizite Auswahl der Sprache/Land auf Grundlage des Accept-Language-Headers explizites Setzen möglich <fmt:setLocale value="en"/> JSTL ETIS SS04

fmt – Internationalisierung/Formatierung (III) Zahlen- und Datumsformatierung länderabhängige Darstellung Beispiel: 10.950,00 (DE) / 10,950.00 (USA) / 10 950,00 (FR) Dienstag, 15.Juni 2004 (DE) / Tuesday, June 15, 2004 (USA) Lösung: <fmt:formatNumber> <%@ taglib prefix=“c“ uri=“http://java.sun.com/jsp/jstl/fmt“ %> <fmt:formatNumber value=“35.2779“ type=“currency“ currencyCode=“EUR“/> Ausgabetype (Zahl, Prozent-wert, Währung) Währungssymbol JSTL ETIS SS04

fmt – Internationalisierung/Formatierung (IV) <fmt:formatDate> <%@ taglib prefix=“c“ uri=“http://java.sun.com/jsp/jstl/fmt“ %> <jsp:useBean id=“currentDate“ class=“java.util.Date“/> <fmt:formatDate value=“${currentDate}“ type=“date“ dateStyle=“full“/> detaillierte Darstellungsformatierung mit dateStyle bzw. timeStyle z.B. dateStyle=“full“: Dienstag, 15.Juni 2004 z.B. timeStyle=“full“: 9.30 Uhr CEST JSTL ETIS SS04

fmt – Internationalisierung/Formatierung (V) Tags Aufgabe setBundle Setzt Ressourcenbündel für den Rest der Seite (Zeichenketten-Dateien) bundle Setzt im Rumpf des Tags zu verwendende Ressourcenbündel setLocale Setzt zu verwendende Locale (Kombination Land Sprache de-DE de-AT) message Gibt lokalisierte Zeichenkette aus formatDate Formatiert Datums- und Uhrzeitangaben (abhängig von Locale) formatNumber Formatiert Zahlen (abhängig von Locale) JSTL ETIS SS04

Zusammenfassung Grundlegende Anforderungen vieler Webanwendungen mit JSTL erfüllt Internationalisierung, Iteration, XML, DB, ... GUI-Entwicklung nicht abgedeckt wenige, flexibel verwendbare Tags anstelle vieler ähnlicher Tags JSTL 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://jakarta.apache.org/taglibs/doc/standard-doc/intro.html JSTL ETIS SS04