Taglibs par rapport JavaClass: ou comment combiner les deux de la meilleure façon

StackOverflow https://stackoverflow.com/questions/1188300

  •  19-09-2019
  •  | 
  •  

Question

Je suis en train d'écrire un modèle pour OpenCms, un CMS basé sur Java avec un très bon taglib-support et une API powerfull.

Quoi qu'il en soit, quand je regarde des tutoriels ou la source, son 50-50 qui taglibs ou Javaclasses sont utilisés pour générer (html) -output.

J'essaie de garder mon propre JSPs, ce qui signifie pas beaucoup de code de scriplet (au lieu d'utiliser JSTL et ainsi de suite). À un moment donné, je pourrais avoir besoin de plus de contrôle sur le code, thats étaient les classes Java viennent et ici, je ne sais pas jusqu'où je dois aller (je ne personaly comme l'idée de générer HTML dans une classe).

Voici quelques avantages et les inconvénients que j'ai bien de:

  1. Avec taglibs, je ne dois redémarrer le conteneur de servlet à chaque fois. Je viens de faire mes changements et de voir le résultat
  2. Un taglib JSP est plus facile à maintenir, en particulier pour webdesigner en raison de la syntaxe « même »
  3. Une JavaClass offre complète / plus de soutien IDE (vérification de type / syntaxe)
  4. Avec des exigences plus complexes, le JavaClass-code est propre (par rapport à la mise variables à la pageContext dans les JSP)
  5. EL (langue d'expression) ajouter plus de puissance à la JSP / taglib mais c'est encore une autre syntaxe et doit apprendre

Y a-t-il des meilleures pratiques sur la façon d'aborder ce sujet? Comme il y a d'autres collegues, qui ont sans doute de maintenir à l'avenir, je suis à la recherche d'une solution propre / maintenable - Vous probaly connaissez tous la situation quand vous avez regardé code somebodies et bien que « ce que l'enfer était-il / penser SEH » ;)

Était-ce utile?

La solution

Je l'ai gardé ce assez simple dans le passé.

Utilisez taglibs lorsque le but est la présentation. Disons que vous avez un bloc de code d'affichage que vous allez réutiliser dans un tas de pages, dans le cas de StackOverflow, disons que le code de flèche. Depuis devrait juste être l'affichage des données, il ne devrait pas et le code Java, et j'utiliser un taglib.

Utilisez le code Java lorsque vous devez convoluer des données. Si vous devez regarder dans un ensemble de ressources ou d'appliquer une mise en forme non générique à quelque chose, j'utiliser le code Java, bien que je préfère les fonctions JSTL à des balises pour cela.

Ne pas utiliser ni aux bases de données d'accès.

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