J'ai écrit une balise personnalisée JSP, implémentée dans une classe qui étend TagSupport, et j'aimerais appeler une autre balise personnalisée qui a été écrite en tant que fichier * .tag. Est-ce possible? Si tel est le cas, comment cela peut-il se faire?Comment puis-je appeler un fichier JSP 2.0 * .tag à partir d'un tag personnalisé JSP traditionnel?
Q
Comment puis-je appeler un fichier JSP 2.0 * .tag à partir d'un tag personnalisé JSP traditionnel?
1
A
Répondre
0
Vous ne pouvez pas, les fichiers de balises peuvent uniquement être exécutés à partir d'une JSP.
Même l'exécution d'une classe d'étiquette d'une autre est discutable, vous n'êtes pas censé faire cela (bien que cela fonctionnerait probablement).
Si vous avez besoin d'une logique réutilisable qui est invoquée depuis votre classe d'étiquettes, vous devez soit l'extraire dans une classe commune, soit vous devez créer votre balise personnalisée dans un BodyTag
et placer le fichier .tag dans comme contenu imbriqué à l'intérieur, par exemple si tagX
est un taglib et tagY
est un fichier de balises, puis:
<mylib:tagX>
<mytags:tagY/>
</mylib:tagX>
La teneur en sortie de <mytags:tagY/>
serait alors exposée au code tagX
via l'interface BodyTag
.
Hé, vous avez accepté la réponse avant que j'aie eu l'occasion de la peaufiner :) – skaffman
Bummer, c'est ce que j'avais peur de. Mon but était d'avoir plusieurs fichiers de balises comme de petits widgets d'édition (par exemple un pour l'édition de chaînes, un pour l'édition de date), afin de formater une grande variété de types de données. La balise personnalisée JSP appelle le fichier de balise approprié en fonction du type de données souhaité. Je suppose que je vais me rabattre sur l'utilisation d'un bloc monstrueux, puisque c'est tout ce que je peux penser. –
Will