Die Common-Controls Tag Bibliothek Tag Referenz Dokumentation

[ 1. Einleitung ]

Die Common-Controls bilden ein Java Präsentationsframework für J2EE™ Web-Anwendungen auf Basis von Java™ Sevlets, Java Serverpages (JSP) und Apache Struts. Das Präsentationsframework beinhaltet die gängigsten Kontrollelementen, wie sie immer wieder für die Entwicklung von J2EE™-Anwendungen mit HTML-Frontends benötigt werden.
Hierzu stellen die Common-Controls die folgenden Kontrollelemente bereit:

[ 2. Voraussetzungen ]

Zur Verwendung der Common-Controls Tag Bibliothek muss die Datei common-controls-bin.jar in den Klassenpfad der Anwendung aufgenommen werden. Hierzu wird die Datei einfach in das Verzeichnis WEB-INF/lib kopiert.

[ 3. Verwendung ]

Für ältere Application Servern müssen die Tag Bibliotheken explizit im Deployment Deskriptor der Web Anwendung registriert werden. Dies ist beu neueren Application Servern nicht mehr notwendig. Hier werden die Bibliotheken direkt aus dem META-INF Verzeichnis des common-controls-bin.jar Java Archives(!) geladen

[ 3a. Verwendung mit expliziter Registrierung (alt) ]

Die Tag Bibliotheken müssen hier in den Deplyoment Descriptor (WEB-INF/web.xml) der Web Anwendung aufgenommen werden. Dazu können die folgenden Abschnitte kopiert werden:

<taglib>
      <taglib-uri>/WEB-INF/tlds/cc-base.tld</taglib-uri>
      <taglib-location>/WEB-INF/tlds/cc-base.tld</taglib-location>
</taglib>

<taglib>       <taglib-uri>/WEB-INF/tlds/cc-controls.tld</taglib-uri>       <taglib-location>/WEB-INF/tlds/cc-controls.tld</taglib-location> </taglib>
<taglib>       <taglib-uri>/WEB-INF/tlds/cc-forms.tld</taglib-uri>       <taglib-location>/WEB-INF/tlds/cc-forms.tld</taglib-location> </taglib>
<taglib>       <taglib-uri>/WEB-INF/tlds/cc-menu.tld</taglib-uri>       <taglib-location>/WEB-INF/tlds/cc-menu.tld</taglib-location> </taglib>
<taglib>       <taglib-uri>/WEB-INF/tlds/cc-sec.tld</taglib-uri>       <taglib-location>/WEB-INF/tlds/cc-sec.tld</taglib-location> </taglib>
<taglib>       <taglib-uri>/WEB-INF/tlds/cc-svg.tld</taglib-uri>       <taglib-location>/WEB-INF/tlds/cc-svg.tld</taglib-location> </taglib>
<taglib>       <taglib-uri>/WEB-INF/tlds/cc-template.tld</taglib-uri>       <taglib-location>/WEB-INF/tlds/cc-template.tld</taglib-location> </taglib>
<taglib>       <taglib-uri>/WEB-INF/tlds/cc-utility.tld</taglib-uri>       <taglib-location>/WEB-INF/tlds/cc-utility.tld</taglib-location> </taglib>

Hinweis: Das jeweilige Tag Library Descriptor File *.tld muss in des Unterverzeichnis WEB-INF/tlds der Web Anwendung abgelegt werden.

Nun können die Tags von der Common Controls Tag Bibliothek innerhalb der JSP Seite eingesetzt werden, indem am Anfang der Seite die folgenden Direktiven aufgenommen werden.

<%@ taglib uri="/WEB-INF/tlds/cc-controls" prefix="ctrl" %>
<%@ taglib uri="/WEB-INF/tlds/cc-forms" prefix="forms" %>
<%@ taglib uri="/WEB-INF/tlds/cc-utility" prefix="util" %>
<%@ taglib uri="/WEB-INF/tlds/cc-menu" prefix="menu" %>
<%@ taglib uri="/WEB-INF/tlds/cc-base" prefix="base" %>
<%@ taglib uri="/WEB-INF/tlds/cc-template" prefix="template" %>
<%@ taglib uri="/WEB-INF/tlds/cc-svg" prefix="svg" %>
<%@ taglib uri="/WEB-INF/tlds/cc-security.tld" prefix="sec" %>

[ 3b. Verwendung mit impliziter Registrierung (neu) ]

Moderne Application Server durchsuchen beim Anwendungsstart alle *.jar Java Archive nach Tag Library Deskriptoren im Verzeichnis META-INF/*.tld. Diese Deskriptoren werden automatisch registriert und stehen der Anwendung somit ohne weitere Konfiguration zur Verfügung. Lediglich in der JSP Seite muss eine Tag Bibliothek vor ihrer Verwendung deklariert werden.

<%@ taglib prefix="ctrl" uri="http://www.common-controls.com/cc/tags-ctrl" %>
<%@ taglib prefix="forms" uri="http://www.common-controls.com/cc/tags-forms" %>
<%@ taglib prefix="util" uri="http://www.common-controls.com/cc/tags-util" %>
<%@ taglib prefix="menu" uri="http://www.common-controls.com/cc/tags-menu" %>
<%@ taglib prefix="base" uri="http://www.common-controls.com/cc/tags-base" %>
<%@ taglib prefix="template" uri="http://www.common-controls.com/cc/tags-template" %>
<%@ taglib prefix="svg" uri="http://www.common-controls.com/cc/tags-svg" %>
<%@ taglib prefix="sec" uri="http://www.common-controls.com/cc/tags-sec" %>
Dies ist auch für die Stuts Tags möglich:
<%@ taglib prefix="bean" uri="http://jakarta.apache.org/struts/tags-bean" %>
<%@ taglib prefix="html" uri="http://jakarta.apache.org/struts/tags-html" %>
<%@ taglib prefix="logic" uri="http://jakarta.apache.org/struts/tags-logic" %>
<%@ taglib prefix="nested" uri="http://jakarta.apache.org/struts/tags-nested" %>
<%@ taglib prefix="tiles" uri="http://jakarta.apache.org/struts/tags-tiles" %>

Hinweis: Der in uri angegbene name muß mit dem Wert des <uri>-Tags des jeweiligen Deployment Deskriptors übereinstimmen. Es handelt sich also um keine Referenz auf eine Web Ressource!.