Question

Quelqu'un peut-il expliquer l'idée des bibliothèques de balises personnalisées JSP et des fichiers de balises JSP 2?

S'agit-il simplement de différentes manières de faire la même chose?

Comment se comparent-ils? Quels sont leurs avantages et leurs inconvénients, et lequel est le meilleur?

Était-ce utile?

La solution

I < 3 fichiers de balises, mais ce développeur principal de JSTL fume du crack s’ils le disent vraiment. Vous NE POUVEZ PAS réécrire toutes les balises de la bibliothèque de balises en tant que balises de fichier de balises, pour une raison très importante: les fichiers de balises ne peuvent pas faire:

renvoyer EVAL_BODY_INCLUDE;

En d'autres termes, les fichiers de balises ne disposent que de trois options pour le contenu de leur corps:

vide: pas de contenu interne, c'est-à-dire. < someTag / >

sans script: aucun contenu interne JSP, c'est-à-dire. < someTag > < p > bonjour le monde < / p > < / unTag > est ok, mais pas < someTag > < p > <% = helloWorld.toString ()% > < / p > < / une-étiquette >

tagdependent: vous pouvez avoir un contenu interne JSP, mais celui-ci ne sera pas traité comme tel; à la place, vous devez l’analyser / le rendre comme bon vous semble

Mais avec les balises de la bibliothèque de balises de style ancien, vous pouvez avoir: < corps-contenu > JSP < / corps-contenu > (dans le fichier tld) puis " return EVAL_BODY_INCLUDE; " à partir de votre " doStartTag " ;. Si vous faites cela, toutes vos directives JSP seront analysées comme si elles faisaient partie de votre page, et votre tag les encapsule simplement avec le contenu approprié.

Personnellement, ma règle générale est la suivante: utilisez des fichiers de balises chaque fois que vous le pouvez, c.-à-d. chaque fois que vous n’avez pas besoin de directives JSP à l’intérieur de la balise, car elles sont mille fois plus propres, plus faciles pour un non-programmeur, pas besoin d’un tld (eh bien, si vous les conservez dans un espace de nom séparé de balises de votre bibliothèque de balises).

Mais si vous voulez du contenu JSP à l'intérieur de votre balise, votre seule option est d'utiliser les balises de bibliothèque de balises. Espérons qu'un jour, les responsables JSP publieront un moyen de traiter les directives JSP dans une balise de fichier de balise, et nous pourrons alors vraiment abandonner les anciennes balises basées sur les classes, mais d'ici là, veuillez ne pas essayer de faire toutes les balises avec des fichiers de balises. , vous serez rapidement réduit à la création d’étiquettes personnalisées pour chaque dernier élément de la logique (c’est le seul moyen de faire de la logique sans utiliser de directives JSP).

Autres conseils

Problèmes de développement des balises personnalisées

Les balises personnalisées traditionnelles nécessitent une programmation Java compétences.

Toutes les balises personnalisées, à l'exception des plus simples, ne sont pas faciles à écrire.

Contrairement aux servlets, JSP a pour but d'utiliser langage de balisage pour gérer la mise en page avec contenu dynamique.

Etre obligé d'écrire du code Java complexe dans les balises personnalisées qui se concentrent sur le langage de balisage va en arrière.

Nous pourrions utiliser le langage d’expression JSP ou autres balises personnalisées lors de l'implémentation d'une nouvelle coutume tag.

La solution   Fichiers de balises JSP 2.0

  • Les fichiers de balises sont l’un des nouveaux concepts importants introduits avec JSP 2.0.
  • Les fichiers de balises permettent un développement plus rapide et plus facile des balises personnalisées.
  • Les fichiers de balises sont développés à l'aide de la syntaxe JSP normale, y compris des éléments de script, et utilisés comme toute autre balise personnalisée.
  • Chaque balise personnalisée est un fichier de balise distinct.

En quoi les fichiers de balises diffèrent-ils?

Écrit à l'aide de la syntaxe JSP.

  • Toutes les directives JSP ne sont pas autorisées dans un fichier de balises.
  • Pris en charge par les nouvelles directives, actions et objets implicites spécifiques au fichier de balises.

Identifié par un suffixe .tag ou .tagx .

Destiné à offrir aux développeurs de balises personnalisées une facilité de développement sans perte de fonctionnalité.

  • L'un des principaux développeurs de JSTL a déclaré que, si elle en avait le temps, elle réécrirait l'intégralité de JSTL à l'aide de fichiers de balises.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top