Question

J'ai plusieurs éléments communs (composants), qui vont générer du HTML. il semble que mes options créent un taglib, ou simplement mettre cette logique dans une page jsp et incluant le jsp.

Quelle est la différence? positifs vs négatifs?

Était-ce utile?

La solution

Lorsque vous utilisez un taglib, le conteneur est généralement:

  • Écrit et appelle une méthode d'assistance depuis _jspService
  • Dans la méthode d'assistance, une instance de la classe de balises est créée et les méthodes standard sont appelées (setParent (), doStartTag (), doEndTag () etc ...)

Ceci conserve tout le code dans la même ressource (la requête n'est pas transmise à un autre composant) et vous permet donc de générer un comportement en boucle et d'accéder à d'autres composants sur la page en cours.

L’apprentissage de bibliothèques de balises entraîne une surcharge. Mais une fois que votre premier mot-clé fonctionne, tout est en descente. De plus, le résultat final sera plus facile à comprendre pour les non-développeurs (en supposant que vous choisissiez un bon nom pour les tags).

Autres conseils

Les taglibs vous permettent de définir des paramètres (typés) que vous pouvez documenter. De plus, les taglibs peuvent être conscients de leur emplacement dans l’arborescence des objets, alors agissez différemment dans un contexte différent; ou appelez encore et encore un modèle spécifique pour créer des itérateurs ou des constructions d’instruction.

Savez-vous que les taglibs ne doivent pas nécessairement être écrits en Java? Il existe également un concept appelé tagfiles qui vous permet d'écrire votre taglib en JSP; souvent plus adapté aux composants plats ... assez proche des inclus.

Les balises (qui incluent le mécanisme de fichier de balises simple d'utilisation, semblable à JSP) prennent en charge l'appel avec des paramètres nommés fortement typés.

Le type d'attribut JspFragment est une caractéristique extrêmement utile et étonnamment souvent négligée des balises JSP. Cela vous permet de passer un bloc de code JSP, en tant que paramètre, dans une balise à appeler, peut-être à plusieurs reprises.

Comprend l'absence de ces puissantes fonctionnalités de paramétrage.

Les balises

facilitent la définition et la gestion des paramètres, mais leur développement nécessite un temps système considérable. Les includes sont plus simples, mais moins puissants. Cela dépend beaucoup de votre style.

D'après mon expérience, les utilisateurs n'utilisent généralement que des inclus, car ils ne veulent pas prendre le temps d'apprendre à créer des tablibs. Menant à un désordre juste. Tant que votre équipe est petite et que votre équipe n'est pas trop complexe, ce n'est pas si mal. Mais c'est une odeur de code.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top