Cours Java pour le développement d’applications Web, tutoriel & guide de travaux pratiques APPRENTISSAGE DU LANGAGE JAVA en pdf.
Qu’est-ce qu’un tag JSP
Un tag personnalisé est composé de trois éléments :
Tag Library Descriptor (TLD) ou description de la bibliothèque de balises effectue la relation (mapping) entre les balises et les classes Java (obligatoire)
Fichier de type XML
Le format porte obligatoirement l’extension « tld »
Une classe appelée « handler » pour chaque tag qui compose la bibliothèque (obligatoire)
Une classe permettant de fournir des informations supplémentaires sur la balise personnalisée au moment de la compilation de la JSP (facultatif)
Utilisation dans une page JSP
Pour chaque bibliothèque de balise à utiliser dans une JSP, il faut la déclarer avant en utilisant la directive taglib
uri : l’URI de la description de la bibliothèque (fichier *.tld)
prefix : espace de noms pour les tags de la bibliothèque dans la JSP
Conception d’un tag personnalisé
Pour concevoir des balises personnalisées différentes versions existes. Les dernières versions supportent toujours les versions antérieures
Le descripteur de bibliothèque de balise évolue en intégrant de nouvelles balises JspTag << Interface >>
Implémentation de la classe « handler »
Version 1.2 : utilisation de l’interface Tag Tag << Interface >>
Version 2.0 : utilisation de l’interface SimpleTag
SimpleTag << Interface >>
Pourquoi présenter les deux versions
Version 1.2 est toujours présentée et utilisée (livres, sites web, …)
Version 2.0 plus simple propose également les mêmes services que 1.2 (non dépréciés)
Évolutions vers la 1.2 depuis la 1.1
Normalisation des balises pour la description de la librairie de tag
Évolution du traitement du corps d’une balise personnalisée
Les principales classes des balises personnalisées
Tag qui est l’interface de base pour écrire un tag
BodyTag une interface qui permet la gestion du corps d’un tag
TagExtraInfo apporte des informations complémentaires sur les tags
Besoins de conception de deux familles d’élément
La classe « handler » qui implémente l’interface Tag
Le descripteur de la bibliothèque de tag (*.tld)
Conception d’un tag personnalisé (1.2) : interface Tag
Chaque balise est associée à une classe qui va contenir les traitements à exécuter lors de leur utilisation
Pour permettre l’appel à cette classe elle doit obligatoirement implémenter directement ou indirectement l’interface Tag
Préférez l’utilisation de la classe TagSupport qui implémente directement Tag (javax.servlet.jsp.tagext.TagSupport)
……….