OVH Cloud OVH Cloud

utilité des taglibs

17 réponses
Avatar
Kupee
Salut, je me demandais quel était l'utilité des taglibs.
Du moins les taglibs simples genre pas de paramètres ou quelque attributs.
En effet c'est joli dans le code, mais en fait on peut les remplacer
par des méthodes static dans une classe même si c'est moins beau,
c'est quand même bien plus rapide a écrire qu'une taglib + tld +
déclaration dans web.xml non ?

10 réponses

1 2
Avatar
Fabien Bergeret
Kupee wrote:
Salut, je me demandais quel était l'utilité des taglibs.
Du moins les taglibs simples genre pas de paramètres ou quelque attributs.
En effet c'est joli dans le code, mais en fait on peut les remplacer
par des méthodes static dans une classe même si c'est moins beau,
c'est quand même bien plus rapide a écrire qu'une taglib + tld +
déclaration dans web.xml non ?
Je pars du principe que ce post n'est pas un troll ...

Dans les regles de bonnes pratiques des JSP, il est dit que la JSP ne
doit s'occuper que de presentation, et surtout pas de fonctionnel.
Alors soit on fait confiance a chaque developpeur pour n'ecrire que des
scriptlet non fonctionnel (mais en general, ca marche pas), soit on
impose l'architecture en disant : pas de code Java dans les JSP, que des
taglibs
Et la ca marche (a peu pret : j'ai une appli avec 500 JSP, doit y en
avoir 10 avec du Java dedans)
Le pb n'est pas la rapidite d'ecriture, mais l'etancheite des couches
applicatives...

Avatar
Kupee
Fabien Bergeret wrote:
Salut, je me demandais quel était l'utilité des taglibs.
Du moins les taglibs simples genre pas de paramètres ou quelque
attributs.
En effet c'est joli dans le code, mais en fait on peut les remplacer
par des méthodes static dans une classe même si c'est moins beau,
c'est quand même bien plus rapide a écrire qu'une taglib + tld +
déclaration dans web.xml non ?


Je pars du principe que ce post n'est pas un troll ...
Dans les regles de bonnes pratiques des JSP, il est dit que la JSP ne
doit s'occuper que de presentation, et surtout pas de fonctionnel.
Alors soit on fait confiance a chaque developpeur pour n'ecrire que des
scriptlet non fonctionnel (mais en general, ca marche pas), soit on
impose l'architecture en disant : pas de code Java dans les JSP, que des
taglibs
Et la ca marche (a peu pret : j'ai une appli avec 500 JSP, doit y en
avoir 10 avec du Java dedans)
Le pb n'est pas la rapidite d'ecriture, mais l'etancheite des couches
applicatives...


Effectivement ce n'était pas un troll, donc c'est surtout une question
de propreté du code alors. Merci pour ta réponse en tout cas, je suis
pas débutant en java mais en jsp je le suis et donc je découvre un peu
et j'essaye de prendre les bonnes options


Avatar
Lionel
Kupee wrote:
Effectivement ce n'était pas un troll, donc c'est surtout une question
de propreté du code alors. Merci pour ta réponse en tout cas, je suis
pas débutant en java mais en jsp je le suis et donc je découvre un peu
et j'essaye de prendre les bonnes options


La réponse: plutot que de mettre du code dégueu dans les JSP, on préfère
cacher ce code dégueu dans des taglibs.
ça change strictement rien, mais psycologiquement c'est mieux.
Ceci n'est pas un troll :)

Avatar
Lionel
Cédric Chabanois wrote:
Le code en lui-même n'est pas forcément dégueu (çà dépend du
développeur).


C'était juste pour dire que c'était pas forcément moins dégueu avec des
taglibs.
J'en ai vu qui faisaient des choses assez abominables.
Pourtant les JSP sont super propres...

Ce qui est dégueux c'est de mélanger HTML et code Java
pour plusieurs raisons :


Je suis 100% d'accord.
Sur mes appli de 100+ jsp, aucune ne contient le moindre bout de code java.

- les IDE java ont un peu de mal avec le mélange. Les éditeurs html
aussi


pour tuer eclipse+webtools M4 avec une JSP contenant uniquement
javascript+taglib, c'est super facile :)
sans la moindre ligne de code java, pourtant l'éditeur JSP foire
complètement (particulièrement chiant d'ailleurs)

- le code java n'est compilé que lorsque la page est accédé par
l'utilisateur.


on peut les précompiler.

Bref on ne se rend pas compte tout de suite de
l'erreur.


avec les taglib non plus.

Cédric


Je suis pour les taglib propres :)

Lionel

Avatar
Cédric Chabanois
Lionel wrote:
Kupee wrote:

Effectivement ce n'était pas un troll, donc c'est surtout une question
de propreté du code alors. Merci pour ta réponse en tout cas, je suis
pas débutant en java mais en jsp je le suis et donc je découvre un peu
et j'essaye de prendre les bonnes options



La réponse: plutot que de mettre du code dégueu dans les JSP, on préfère
cacher ce code dégueu dans des taglibs.
ça change strictement rien, mais psycologiquement c'est mieux.
Ceci n'est pas un troll :)




Le code en lui-même n'est pas forcément dégueu (çà dépend du développeur).
Ce qui est dégueux c'est de mélanger HTML et code Java pour plusieurs
raisons :
- les IDE java ont un peu de mal avec le mélange. Les éditeurs html aussi
- le code java n'est compilé que lorsque la page est accédé par
l'utilisateur. Bref on ne se rend pas compte tout de suite de l'erreur.
- le code java peut être noyé dans le html. Ou l'inverse

Cédric


Avatar
SL
Kupee wrote:
Salut, je me demandais quel était l'utilité des taglibs.
Du moins les taglibs simples genre pas de paramètres ou quelque attributs.
En effet c'est joli dans le code, mais en fait on peut les remplacer
par des méthodes static dans une classe même si c'est moins beau,
c'est quand même bien plus rapide a écrire qu'une taglib + tld +
déclaration dans web.xml non ?


bonjour,

plus rapide certes...mais ... plus risqué :)

et puis un jour ou l'autre le developpeur en a marre de reecrire la meme
chose a chaque fois...

d'autre part ... les fichiers de configs sont plus faciles a générer
(par un IDE ou autre ) que des methodes java 'maison'.


--
SL

Avatar
Fabien Bergeret
Lionel wrote:
Cédric Chabanois wrote:

Le code en lui-même n'est pas forcément dégueu (çà dépend du
développeur).



C'était juste pour dire que c'était pas forcément moins dégueu avec des
taglibs.
J'en ai vu qui faisaient des choses assez abominables.
Pourtant les JSP sont super propres...


Ce qui est dégueux c'est de mélanger HTML et code Java
pour plusieurs raisons :



Je suis 100% d'accord.
Sur mes appli de 100+ jsp, aucune ne contient le moindre bout de code java.


- les IDE java ont un peu de mal avec le mélange. Les éditeurs html
aussi



pour tuer eclipse+webtools M4 avec une JSP contenant uniquement
javascript+taglib, c'est super facile :)
sans la moindre ligne de code java, pourtant l'éditeur JSP foire
complètement (particulièrement chiant d'ailleurs)


- le code java n'est compilé que lorsque la page est accédé par
l'utilisateur.



on peut les précompiler.


Bref on ne se rend pas compte tout de suite de
l'erreur.



avec les taglib non plus.


Cédric



Je suis pour les taglib propres :)

Lionel


Un autre interet, c'est de separer le travail : les experts

HTML/WebDesigner font les JSP, et les experts Java font les taglibs


Avatar
Christophe Tela
Un autre interet, c'est de separer le travail : les experts
HTML/WebDesigner font les JSP, et les experts Java font les taglibs


Ouais, je l'ai entendue pas mal de fois celle là, et elle me fait encore
rire.

Sauf que pour faire des JSP, il faut quand même être assez avancé en Java.
D'une part parce qu'il faut savoir quels tags utiliser, et d'autre part
parce qu'il faut savoir ce qu'ils génèrent afin de pouvoir ajuster les
CSS / le javascript en conséquence.

Conclusion : sur tout les projets que je vois autour de moi, il n'y a pas de
distinction, tout le monde touche à tout. Avec plus ou moins de réussite
d'ailleurs...

Je pense que c'est le gros échec de J2EE ; la théorie est splendide, la
réalité est un vrai bordel qui réclame des compétences très vastes.

Avatar
Kupee
Fabien Bergeret wrote:
Un autre interet, c'est de separer le travail : les experts
HTML/WebDesigner font les JSP, et les experts Java font les taglibs


Excuse mon ignorance, mais comment tu fais ca ? Je connais bien les
templates en php et la séparation de code de cette manière. Je vois bien
comment je pourrais utiliser Velocity pour obtenir ca, par contre les
taglibs j'ai plus de mal.
Si par exemple tu veux afficher un tableau avec une liste de données
trouvées dans une base de données tu ferais une taglib qui génère tout
un tableau html ? Je sens que j'ai manqué un truc ...

Avatar
Lionel
Fabien Bergeret wrote:
Un autre interet, c'est de separer le travail : les experts
HTML/WebDesigner font les JSP, et les experts Java font les taglibs


Je sépare le travail autrement: l'expert HTML fait qq exemples de code HTML
et les CSS.
Le dév Java écrit les taglib qui vont générer le code HTML désiré.
Mon objectif étant de ne pas avoir de code HTML dans les JSP, hormis la page
d'index.

1 2