<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Apache_Taglibs</id>
	<title>Apache Taglibs - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Apache_Taglibs"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Apache_Taglibs&amp;action=history"/>
	<updated>2026-05-22T12:49:22Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Apache_Taglibs&amp;diff=452753&amp;oldid=prev</id>
		<title>imported&gt;Koyaanisqatsi01: doppelte Zitatauszeichnung korrigiert</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Apache_Taglibs&amp;diff=452753&amp;oldid=prev"/>
		<updated>2020-08-29T18:20:33Z</updated>

		<summary type="html">&lt;p&gt;doppelte Zitatauszeichnung korrigiert&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Apache Taglibs&amp;#039;&amp;#039;&amp;#039; (vormals &amp;#039;&amp;#039;Jakarta Taglibs&amp;#039;&amp;#039;) ist ein Projekt der [[Apache Software Foundation]]. Es besteht aus einer Sammlung von [[Tag-Library|Tag Libraries]] ([[Programmbibliothek|Bibliotheken]] von [[Tag (Informatik)|Tag]]s) und verwandten Projekten. Wichtigster Bestandteil dieses Projektes ist die Referenzimplementierung der [[JSTL]]. Daneben existieren noch weitere Tag-Libraries, die im Folgenden beschrieben werden.&lt;br /&gt;
&lt;br /&gt;
Viele der Aufgaben, die von den angebotenen Tags erledigt werden, werden in moderneren Web-Anwendungen, die nach dem Entwurfsmuster &amp;#039;&amp;#039;[[Model View Controller|MVC Model]]&amp;#039;&amp;#039; entwickelt werden, nicht als Teil der Präsentationsschicht (JSP) realisiert, sondern als Teil der Anwendungslogik ([[Servlet]]s oder [[Enterprise JavaBeans]]). So wird zum Beispiel die Kommunikation via [[Java Message Service|JMS]] normalerweise nicht als Teil einer JSP implementiert.&lt;br /&gt;
&lt;br /&gt;
== Geschichte ==&lt;br /&gt;
Das Projekt startete 2000 als &amp;#039;&amp;#039;[[Jakarta-Projekt|Jakarta]] Taglibs&amp;#039;&amp;#039;. Mit dem Aufkommen von [[JSTL]] wurden die Kernfunktionalitäten vieler Bibliotheken jedoch standardisiert und die Nachfrage nach solchen Bibliotheken ließ nach. In der Folge wurden weite Teile der Funktionen eingestellt, und die verbleibenden Bibliotheken in den Jahren 2008 und 2009 in das [[Apache Tomcat|Tomcat]]-Projekt überführt. Übriggeblieben sind von den einst rund 30 Bibliotheken lediglich drei: Eine &amp;#039;&amp;#039;Standard&amp;#039;&amp;#039;-Bibliothek, die verschiedene JSTL-Implementierungen bereithält, die Reusable Dialog Components Taglib &amp;#039;&amp;#039;RDC&amp;#039;&amp;#039; und eine &amp;#039;&amp;#039;Extended&amp;#039;&amp;#039;-Bibliothek, die einige nichtstandardisierte Funktionen bereithält, die weiter wünschenswert sind.&lt;br /&gt;
&lt;br /&gt;
== Historische Jakarta-Taglibs ==&lt;br /&gt;
&lt;br /&gt;
=== Benchmark ===&lt;br /&gt;
&lt;br /&gt;
[[Benchmark]]s sind genormte Testverfahren zur Ermittlung von Laufzeiten. Das Teilprojekt &amp;#039;&amp;#039;Benchmark&amp;#039;&amp;#039; stellt jedoch lediglich zwei einfache Tags für die Performance-Messungen in JSPs bereit.&lt;br /&gt;
&lt;br /&gt;
Dieses Teilprojekt stellt die zwei [[Tag]]s „&amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;“ und „&amp;lt;code&amp;gt;exclude&amp;lt;/code&amp;gt;“ bereit. „&amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;“ misst die Zeit, die die Ausführung eines zwischen den beiden Tag-Klammern befindlichen JSP-Codes benötigt. „&amp;lt;code&amp;gt;exclude&amp;lt;/code&amp;gt;“ ermöglicht es, Teile der Ausführung von der Messung auszuschließen.&lt;br /&gt;
&lt;br /&gt;
=== BSF (Bean Scripting Framework) ===&lt;br /&gt;
&lt;br /&gt;
Dieses Teilprojekt bildet eine Schnittstelle zum [[Bean Scripting Framework]] (BSF), einem anderen [[Jakarta-Projekt]], das es ermöglicht, [[Skriptsprache]]n von Java-Klassen ausführen zu lassen. Hiermit können also Skripte in JSP-Code eingebettet werden.&lt;br /&gt;
&lt;br /&gt;
=== Cache ===&lt;br /&gt;
Dieses Teilprojekt ermöglicht das einfache [[Caching]] von Teilen von JSPs, also deren Zwischenspeicherung bei mehrfachen Aufrufen identischer Code-Teile. Es bietet dazu zwei einfache Tags namens „&amp;lt;code&amp;gt;cache&amp;lt;/code&amp;gt;“ und „&amp;lt;code&amp;gt;invalidate&amp;lt;/code&amp;gt;“.&lt;br /&gt;
&lt;br /&gt;
=== DateTime ===&lt;br /&gt;
Dieses Teilprojekt entwickelt Tags, die für die Verarbeitung von Datumswerten und Uhrzeiten nützlich sind. So gibt es beispielsweise ein Tag „&amp;lt;code&amp;gt;format&amp;lt;/code&amp;gt;“, um ein Datum für die Anzeige zu formatieren, und ein Tag „&amp;lt;code&amp;gt;parse&amp;lt;/code&amp;gt;“, um ein Datumsobjekt aus dem Inhalt eines Eingabefelds zu erzeugen. Außerdem wird Funktionalität für den Umgang mit verschiedenen [[Zeitzone]]n und internationalen Datumsformaten angeboten.&lt;br /&gt;
&lt;br /&gt;
Diese Tags ähneln zum Teil den von der [[JSTL]] angebotenen Zeit- und Datumstags (z.&amp;amp;nbsp;B. „&amp;lt;code&amp;gt;fmt:formatDate&amp;lt;/code&amp;gt;“).&lt;br /&gt;
&lt;br /&gt;
=== I18N (Internationalisierung) ===&lt;br /&gt;
Dieses Teilprojekt stellt Tags für die [[Internationalisierung (Softwareentwicklung)|Internationalisierung]] von [[JSP]]-Anwendungen bereit, also deren Übersetzung in unterschiedliche Sprachen. Sie enthält einerseits Tags für die Vertextung von Nachrichten mit Hilfe sogenannter „Ressourcenbündel“, die normalerweise in [[Java-Properties-Datei]]en abgelegt sind. Andererseits sind Tags für die Formatierung von Zahlen, Währungen und anderem vorhanden.&lt;br /&gt;
&lt;br /&gt;
Diese Tags ähneln den von der [[JSTL]] definierten Formatierungstags, beispielsweise „&amp;lt;code&amp;gt;fmt:bundle&amp;lt;/code&amp;gt;“ und „&amp;lt;code&amp;gt;fmt:message&amp;lt;/code&amp;gt;“.&lt;br /&gt;
&lt;br /&gt;
=== Input ===&lt;br /&gt;
Die &amp;#039;&amp;#039;Input Tag Library&amp;#039;&amp;#039; stellt Tags für die einfache [[Voreinstellung|Vorbelegung]] von HTML-Formularfeldern bereit. Dazu werden die üblichen [[Hypertext Markup Language|HTML]]-Eingabe-Tags durch entsprechende Tags ersetzt, die es dem [[JavaServer Pages|JSP]]-Entwickler erleichtern, Inhalte von Feldern zu überprüfen und zwischen mehreren Aufrufen der gleichen Seite beizubehalten.&lt;br /&gt;
&lt;br /&gt;
=== IO ===&lt;br /&gt;
Die &amp;#039;&amp;#039;IO tag library&amp;#039;&amp;#039; stellt spezielle Tags bereit, die es ermöglichen, aus [[JavaServer Pages|JSPs]] heraus [[HTTP]]-Aufrufe abzusetzen. „IO“ steht für englisch &amp;#039;&amp;#039;Input/Output&amp;#039;&amp;#039;, also Eingabe und Ausgabe. So gibt es beispielsweise ein Tag „&amp;lt;code&amp;gt;&amp;amp;lt;request&amp;amp;gt;&amp;lt;/code&amp;gt;“, das es ermöglicht, ein Dokument über HTTP zu beschaffen und in die aufrufende Seite einzubetten. Ein Anwendungsbeispiel hierfür ist das Einfügen der originalen „[[GNU-Lizenz für freie Dokumentation]]“ (GFDL) in die eigene Seite mit dem folgenden Tag, anstatt nur einen Link einzufügen.&lt;br /&gt;
 &amp;amp;lt;io:request url=&amp;quot;&amp;lt;nowiki&amp;gt;http://www.gnu.org/copyleft/fdl.html&amp;lt;/nowiki&amp;gt;&amp;quot;/&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JMS ===&lt;br /&gt;
Die &amp;#039;&amp;#039;JMS custom tag library&amp;#039;&amp;#039; ermöglicht es, aus [[JavaServer Pages]] heraus asynchrone Nachrichten über den [[Java Message Service]] zu versenden und zu empfangen. Sie definiert Tags zum Auf- und Abbauen von Verbindungen und zum Erzeugen, Versenden und Empfangen von Nachrichten. Empfangene Textnachrichten können in die aufrufende JSP integriert werden.&lt;br /&gt;
&lt;br /&gt;
=== JNDI ===&lt;br /&gt;
Die &amp;#039;&amp;#039;JNDI tag library&amp;#039;&amp;#039; erlaubt den Zugriff auf Verzeichniseinträge über das &amp;#039;&amp;#039;Java Naming and Directory Interface&amp;#039;&amp;#039; ([[JNDI]]). Dafür stellt sie Tags zum Definieren von Kontexten (Verzeichnisknoten) und zum Abfragen von Einträgen und deren Attributen bereit.&lt;br /&gt;
&lt;br /&gt;
=== Log ===&lt;br /&gt;
Dieses Teilprojekt definiert Tags, die zur Ausgabe von Meldungen in [[Logdatei]]en über das Framework [[log4j]]. Es gibt Tags für die unterschiedlichen Prioritäten „&amp;lt;code&amp;gt;&amp;amp;lt;debug&amp;amp;gt;&amp;lt;/code&amp;gt;“, „&amp;lt;code&amp;gt;&amp;amp;lt;info&amp;amp;gt;&amp;lt;/code&amp;gt;“, „&amp;lt;code&amp;gt;&amp;amp;lt;warn&amp;amp;gt;&amp;lt;/code&amp;gt;“, „&amp;lt;code&amp;gt;&amp;amp;lt;error&amp;amp;gt;&amp;lt;/code&amp;gt;“ und „&amp;lt;code&amp;gt;&amp;amp;lt;fatal&amp;amp;gt;&amp;lt;/code&amp;gt;“ sowie eines namens „&amp;lt;code&amp;gt;&amp;amp;lt;dump&amp;amp;gt;&amp;lt;/code&amp;gt;“, das die momentanen Werte sämtlicher Variablen einer JSP protokolliert.&lt;br /&gt;
&lt;br /&gt;
=== Mailer ===&lt;br /&gt;
Dieses Teilprojekt stellt im Wesentlichen ein Tag „&amp;lt;code&amp;gt;mail&amp;lt;/code&amp;gt;“ bereit, das eine zu versendende [[E-Mail]] repräsentiert. Darin werden weitere Tags eingefügt, um die Eigenschaften der E-Mail zu definieren, z. B. „&amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;“ für den eigentlichen Nachrichtentext. Einige Eigenschaften können auch als Tag-Attribute festgelegt werden, wie z.&amp;amp;nbsp;B. der Empfänger der Nachricht.&lt;br /&gt;
&lt;br /&gt;
=== Random ===&lt;br /&gt;
Dieses Teilprojekt stellt zwei Tags bereit, mit denen sich [[Zufallszahl]]en („&amp;lt;code&amp;gt;&amp;amp;lt;number&amp;amp;gt;&amp;lt;/code&amp;gt;“) oder zufällige Zeichenketten („&amp;lt;code&amp;gt;&amp;amp;lt;string&amp;amp;gt;&amp;lt;/code&amp;gt;“) erzeugen lassen. Bei jedem Aufruf der [[JavaServer Pages|JSP]] wird ein neuer Zufallswert erzeugt und in die Seite eingebettet. Die Wertebereiche sind frei definierbar.&lt;br /&gt;
&lt;br /&gt;
=== RDC – Reusable Dialog Components ===&lt;br /&gt;
Das Teilprojekt &amp;#039;&amp;#039;Reusable Dialog Components&amp;#039;&amp;#039; („wiederverwendbare Dialogkomponenten“) bietet Tags für die Dialogsteuerung von Webanwendungen über [[Spracherkennung]] und ebenso die Ausgabe per [[Sprachsynthese]]. Die Tags halten sich an Standards, die im Rahmen von [[VoiceXML]] definiert wurden.&lt;br /&gt;
&lt;br /&gt;
=== Regexp ===&lt;br /&gt;
Diese Tag-Bibliothek stellt im Wesentlichen drei Tags für die wichtigsten Anwendungen [[regulärer Ausdruck|regulärer Ausdrücke]] zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
* „&amp;lt;code&amp;gt;&amp;amp;lt;existsMatch&amp;amp;gt;&amp;lt;/code&amp;gt;“ expandiert seinen Inhalt, wenn ein regulärer Ausdruck in einer zuvor definierten Variablen erkannt wird.&lt;br /&gt;
* „&amp;lt;code&amp;gt;&amp;amp;lt;substitute&amp;amp;gt;&amp;lt;/code&amp;gt;“ ersetzt einen regulären Ausdruck in einer Variablen durch einen gegebenen Text.&lt;br /&gt;
* „&amp;lt;code&amp;gt;&amp;amp;lt;split&amp;amp;gt;&amp;lt;/code&amp;gt;“ zerlegt den Inhalt einer Variablen in Teilausdrücke, die dann der Reihe nach expandiert werden.&lt;br /&gt;
&lt;br /&gt;
=== Scrape ===&lt;br /&gt;
Dieses Teilprojekt stellt Tags bereit, die Inhalte aus anderen Webseiten extrahieren („zusammenkratzen“, englisch &amp;#039;&amp;#039;to scrape&amp;#039;&amp;#039;) und sie in die JSP einbetten. Welche Inhalte extrahiert werden, wird durch Textfragmente definiert, die am Beginn und am Ende des interessierenden Code-Fragments in der Quellseite stehen. Die Inhalte werden gepuffert.&lt;br /&gt;
&lt;br /&gt;
=== String ===&lt;br /&gt;
Dieses Teilprojekt stellt viele Tags zur Manipulation von Zeichenketten bereit, wie beispielsweise die Umwandlung einer Zeichenkette in Großbuchstaben (&amp;#039;&amp;#039;capitalize&amp;#039;&amp;#039;) oder das Auffüllen eines Strings mit beliebigen Zeichen bis zu einer gewünschten Länge (&amp;#039;&amp;#039;rightPad&amp;#039;&amp;#039;). Die Tags basieren auf dem [[Jakarta-Projekt]] &amp;#039;&amp;#039;commons lang&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== XTags ===&lt;br /&gt;
Diese Tags erlauben eine Manipulation von [[Extensible Markup Language|XML]]-Dokumenten und stellen somit eine in [[JavaServer Pages|JSP]] implementierte Alternative zu [[XSL Transformation|XSLT]] dar.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://tomcat.apache.org/taglibs/index.html Apache Taglibs] beim [[Apache Tomcat|Tomcat-Projekt]] (englisch)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Java-Bibliothek]]&lt;br /&gt;
[[Kategorie:Apache-Projekt|Subversion]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Koyaanisqatsi01</name></author>
	</entry>
</feed>