J'essaye de comprendre TILES.
SUr ce lien : http://www.theserverside.com/article...tss?l=Tiles101
Il est ecrit :
Imaginons que je veux creer un site avec :. When you add a new page, you add a new Struts mapping (the Controller), add a new Tiles definition (the View's Layout) and the new jsp (the View). For a site with 20 pages, you would have 22 files (1 tiles-def.xml, aSiteLayout.jsp, + 20 content pages).
- 1 header commun a toutes mes pages
- 1 menu commun a toutes mes pages
- 1 footer commun a toutes mes pages
Que dans ce site je veux afficher 4 pages differentes :
- index
- page1
- page2
- page3
Ces 4 pages utilisent donc un layout commun :
Ma question : combien de JSP vais je devoir creer ?
Au debut et d'apres l'article en anglais je me dis 9 :
- 1 mainLayout.jsp
- 1 index.jsp
- 4 body ou content. jsp (1 pour accueil, 1 pour page1, 1 pour page2 et pour page3)
- 1 menu.jsp
- 1 footer.jsp
- 1 header.jsp
plus le fichier de definition : tiles-def.xml
soit 10 fichiers a creer ...
Je me dis chouetteeeeeeeee !!! Tiles c'est super bien
Okay avec ce que j'ai lu rapidement sur Tiles je me dis que dans le menu il suffit de cliquer sur le liens du body ou du content que l'on veut afficher et hop c'est magique, a laffichage de la nouvelle page, il n'y a que le body qui change au milieu de ma page. Un peu comme les frames sauf qu'on recharge qd meme tout.
Je commence a regarder les exemples, les tutoriaux et la .. bah je vois rien de ca... c'est la cata ... en plus dans les exemples n'y a jamais de vrai lien dans les menu !!! (c est pas un menu si y a pas de liens)
Resultats aujourd'hui j'ai l'impression qu'il faut en fait pour mes 4 pages, creer 12 jsp !! oui oui
- 1 mainLayout.jsp
- 4 xxx.jsp ( 1 par body ou content pour appeler la bonne definition correspondante )
- 4 body ou content. jsp (1 pour accueil, 1 pour page1, 1 pour page2 et pour page3)
- 1 menu.jsp
- 1 footer.jsp
- 1 header.jsp
et que mon fichier tiles-def.xml contiendra quelque chose comme ca :
Donc en gros pour une nouvelle page je dois rajouter 2 jsp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 <definition name="site.accueil" path="/mainLayout.jsp"> <put name="title" value="Mon titre" /> <put name="header" value="/header.jsp" /> <put name="menu" value="/menu.jsp" /> <put name="footer" value="/footer.jsp" /> <put name="body" value="/accueil.jsp" /> </definition> <definition name="site.page1" path="/mainLayout.jsp"> <put name="title" value="Mon titre" /> <put name="header" value="/header.jsp" /> <put name="menu" value="/menu.jsp" /> <put name="footer" value="/footer.jsp" /> <put name="body" value="/page1.jsp" /> </definition> <definition name="site.page2" path="/mainLayout.jsp"> <put name="title" value="Mon titre" /> <put name="header" value="/header.jsp" /> <put name="menu" value="/menu.jsp" /> <put name="footer" value="/footer.jsp" /> <put name="body" value="/page2.jsp" /> </definition> <definition name="site.page3" path="/mainLayout.jsp"> <put name="title" value="Mon titre" /> <put name="header" value="/header.jsp" /> <put name="menu" value="/menu.jsp" /> <put name="footer" value="/footer.jsp" /> <put name="body" value="/page3.jsp" /> </definition>
- le body correspondant
- l'appel de la definition
et 7 lignes dans le fichier tiles-def.xml... qui risque donc de devenir tres rapidement tres gros !!!!
donc si un jour je veux changer le layout et que la page n'a plus 4 composants mais 5 (par exemple une partie pub sous le header), faut que j' impacte la modification dans toutes les definitions ... soit ici 4 fois ....
Je n'imagine meme pas avec une vrai application de 200 jsp ...
A ce moment la je trouve ca un peu moins interessant et je cromprend mieux pourquoi les menu des exemples n'etaient jamais vraiment implementés ...
C'est vraiment ca ???![]()
![]()
Dites moi que j'ai raté un truc !!! lol
Partager