Concept: Balise personnalisée Java Server Page (JSP)
Ces instructions présentent des généralités techniques sur les balises personnalisées, un mécanisme d'extension d'API JPS.
Relations
Eléments connexes
Description principale

Introduction

Les balises personnalisées sont un mécanisme 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 balises

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èque de balises

Pour qu'un JSP soit capable d'utiliser les balises personnalisées JSP, un descripteur de bibliothèque de balises doit être créé. Un descripteur de bibliothèque de balises est un fichier XML déployé sur le serveur Web avec les gestionnaires de balises.

Voici un exemple de fichier de bibliothèque de balises contenant le descripteur de bibliothèque 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>