Tag-Library
# Tag-Library

Tag-Libraries sind ein Bestandteil der JSP-Spezifikation. Mit dem Einsatz von Java Server Pages hat man bereits erreicht, dass nur noch wenig Java-Code nötig ist, um eine dynamische Web-Seite zu erstellen. JSPs sind jedoch trotzdem nicht frei von Java-Code und deshalb für Webdesigner schwierig zu bearbeiten.
Mit Hilfe von Tag-Libraries ist es möglich, JSP-Seiten zu entwickeln, die nur noch wenig bis gar keinen Java-Code beinhalten. Solche JSP-Seiten bieten dann die Schnittstelle zwischen dem Webdesigner, der kein Java versteht, und dem Entwickler, der die dynamischen Teile einer Seite entwickelt. Tag-Libraries können zudem in mehreren JSP-Seiten verwendet werden.
Eine Tag-Library besteht aus einer Sammlung von Tag-Klassen und einer Tag-Library-Description (TLD). Tag-Klassen sind Java-Klassen, die eine bestimmte Schnittstelle implementieren. In der TLD steht für jedes Tag, welche Klasse dafür zuständig ist und welche Attribute es bietet. In der JSP können diese speziellen Tags in XML-Notation eingebunden werden, z. B.: <mylib:mytag myattr1="25" myattr2="xyz"/>. Der Java-Code ist somit von der JSP-Seite in die Tag-Klasse ausgelagert.
Sobald die Abarbeitung einer JSP-Seite die Start- bzw. Ende-Kennung eines Tags erreicht, ruft die Servlet-Engine bei der Tag-Klasse bestimmte Methoden auf. Die Tag-Klasse kann dann im Java-Code Berechnungen durchführen, Daten von einer Persistenz-Schicht lesen oder schreiben oder auch zusätzlichen HTML-Code in die Antwortseite schreiben.