Rubriques

IntroductionTo top of page

Les balises personnalisées sont des mécanismes d'extension d'API JSP. Elles permettent d'obtenir des extensions déclaratives de pages JSP. Les balises JSP sont implémentées dans Java, mais elles sont activées dans JSP via l'utilisation de balises identiques à des balises HTML. Mais contrairement aux balises HTML, les balises JSP sont traitées par le serveur et non par le navigateur du client.

Les balises personnalisées offrent une séparation nette des responsabilités entre les concepteurs Web (développeurs JSP) et les programmeurs Java. Les programmeurs Java mettent en oeuvre les balises personnalisées JSP. Les concepteurs Web sélectionnent ces balises de façon déclarative afin d'activer l'implémentation Java.

Le concepteur JSP "appelle" le code Java en déclarant les balises et le développeur Java développe le code dans les gestionnaires de balises, comme l'illustre le diagramme suivant.

Diagramme décrit dans le texte d'accompagnement.

Pour pouvoir présenter une balise personnalisée, le développeur Java doit fournir deux éléments :

Gestionnaire de balisesTo top of page

Un gestionnaire de balises représente une classe qui implémente l'interface de balises. Deux classes de bibliothèques facilitent cette mise à disposition de gestionnaires de balises. Ces deux classes sont javax.servlet.jsp.TagSupport et javax.servlet.jsp.BodyTagSupport. La classe TagSupport est utilisée pour les balises qui ne contiennent pas de corps ; BodyTagSupport est utilisée pour celles qui en contiennent un.

Voici l'exemple d'une implémentation de gestionnaire de balises la plus simple possible.

Diagramme décrit dans le texte d'accompagnement.

Descripteur de bibliothèques de balisesTo top of page

Pour qu'un JSP soit capable d'utiliser les balises personnalisées JSP, un descripteur de bibliothèques de balises doit être créé. Les descripteurs de bibliothèques de balises sont des fichiers XML déployés sur le serveur Web avec les gestionnaires de balises.

Voici un exemple de fichier de bibliothèque de balises contenant le descripteur de bibliothèques de balises HelloWorld.

<?xml version="1.0" encoding="ISO-8859-1" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLScheme-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd"
version="2.0">
<tlib-version>1.0</tlib-version>
<short-name>simp</short-name>
<uri> http://www.inferdata.com/taglib/hello-world</uri>
<description>Simple example of a JSP custom tag</description>
<tag>
<name>hello</name>
<tag-class>com.inferdata.taglib.HelloWorld</tag-class>
<body-content>empty</body-content>
<description>Simple hello world tag</description>
</tag>
</taglib>

 


This content developed or partially developed by Inferdata Corporation.

RUP (Rational Unified Process)   2003.06.15