Java pour le développement d’applications Web : Java EE
Mickaël BARON - 2006 (Rev. Août 2009)
mailto:[email protected] ou mailto:[email protected]
JSP 2.0
JSP2 - M. Baron - Page
keulkeul.blogspot. com
Creative Commons
Contrat Paternité
Partage des Conditions Initiales à l'Identique
2.0 France
http:/ / creativecommons.org/ licenses/ by-sa/ 2.0/ fr
Licence
JSP2 - M. Baron - Page
keulkeul.blogspot. com
Conception d’un tag personnalisé ( 2.0)
h Évolutions vers la 2.0 depuis la 1.2
h Descripteur de balises personnalisées (TLD)
h I mplémentation différente pour le handler des balises personnalisées
h Les principales classes des balises personnalisées
h SimpleTag qui est l’interface de base pour écrire un tag
h TagExtraInfo apporte des informations complémentaires sur les tags
h Besoins de conception de deux familles d’élément
h La classe « handler » qui implémente l’interface SimpleTag h Le descripteur de la bibliothèque de tag (* .tld)
Le traitement du corps se fait par
la même interface
Peu de modification
depuis la
version 1.2
JSP2 - M. Baron - Page
keulkeul.blogspot. com
Conception d’un tag personnalisé ( 2.0) : SimpleTag
h L’interface SimpleTag permet une implémentation différente de tag JSP réalisée à partir de
h TagSupport
h BodyTagSupport
h Les classes des balises personnalisées concernées (version 2)
h SimpleTag qui est l’interface de base pour écrire une balise personnalisée
h SimpleTagSupport qui est la classe d’implémentation par défaut de SimpleTag
h Présentation avec l’interface SimpleTag
h Reprise du même plan qu’avec TagSupport et BodyTagSupport h Le fichier de description des balises (TLD) évolue légèrement
La classe TagExtraI nfo ne change pas. Cependant, nous étudierons les mêmes exemples
mais avec SimpleTag
JSP2 - M. Baron - Page
keulkeul.blogspot. com
Conception d’un tag personnalisé par l’exemple ( 2.0) h Exemple : « HelloWorld » un classique
<?xml version="1.0" encoding="ISO-8859-1" ?>
<taglib ...>
<tlib-version>1.0</tlib-version>
<jsp-version>2.0</jsp-version>
<description>
Bibliothèque de taglibs
</description>
<tag>
<name>hellotag</name>
<tag-class>monpackage.HelloTag</tag-class>
<description>
Tag qui affiche bonjour
</description>
<body-content>empty</body-content>
</tag>
</taglib>
Le fichier TLD
package monpackage;
...
public class HelloTag extends SimpleTagSupport { public void doTag()
throws JspException, IOException {
this.getJspContext().getOut().println("Hello World !");
} }