Bonjour, j'aimerais savoir si il est possible d'inclure automatiquement un fichier au début et à la fin d'un fichier jsp en utilisant Struts en même temps.
J'explique mon idée, vous aurez surement une meilleur solution à mon problème.
J'aimerais en utilisant Struts, créer une sorte de template pour les pages. Dans mon fichier de template il y'a tout le code html de la page avec des définitions de block qui peuvent être renseignés en amont.
Donc dans mes pages jsp, j'aimerais qu'il n'y ai plus que des
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <%@ taglib uri="/tags/perso-tags" prefix="perso-tags" %> <html> <head> <perso-tagss:getBlock property="head"> <title> Defaut title </title> </perso-tags:getBlock> </head> <body> <perso-tags:getBlock property="body"> Voici un text par défaut, si vous le voyez c'est que vous n'avez pas définie le contenu de ce block auparavant. </perso-tags:getBlock> </body> </html>
Donc je pensais faire une inclusion automatique d'un fichier qui renseignerait certaine partie du header ( comme la langue, la gestion de connexion, les meta, le titre, .. ) au début d'un fichier définissant certain block en fonction de la page où l'on se trouve et que le fichier de template soit automatiquement inclus à la fin pour que s'opère les remplacements dans le template et que la page soit affichée ( l'avantage de cette méthode : un seul fichier de mise en page, très facilement modifiable et qui permet en plus de pouvoir définir des squelettes de pages particulier pour certaine page à travers une variable. )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <%@ taglib uri="/tags/perso-tags" prefix="perso-tags" %> <perso-tags:setBlock property="head"> <title> Titre défini par la page </title> </perso-tags:setBlock> <perso-tags:setBlock property="body"> Bienvenu sur mon site ! </perso-tags:setBlock>
J'ai donc créé ces tags setBlock et getBlock qui marche parfaitement bien.
J'ai ensuite ajouté dans mon web.xml une section jsp-config :
Celà marchait très bien également.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <jsp-property-group> <description>JSP configuration </description> <url-pattern>*.do</url-pattern> <include-prelude>include/headers.jsp</include-prelude> <include-coda>include/template.jsp</include-coda> </jsp-property-group>
Le problème c'est que si je veux utiliser struts ( dont je définie le mapping par *.do ) il n'y a plus d'include automatique....
je suis assez bloqué. Je n'ai pas envie de faire en haut de chaque fichier : <%@ include file="header.jsp" %>
et pareil en bas pour le fichier gérant l'affichage, car il y'a vraiment beaucoup de fichier et je trouve que celà n'est pas très évolutif ( un changement de nom de fichier ou de, et on change tout à la mano dans 600 fichiers .. )
J'espère avoir été assez explicite, si ce n'est pas le cas, je vous encourage à me poser des questions pour que nous puissions ensemble trouver une solution à ce problème ( ça fait très campagne politique)
Cordialement domen
Partager