Bonjour,

Je me demandais si quelqu'un avait une explication a me fournir quant aux forwards en utilisant les tiles.

Je m'explique.
Quand on veux utiliser un global-forward pour faire un lien vers une autre page on peut proceder de la sorte :

Dans la page jsp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<html:link forward="show_page1">aller a la page 1</html:link>
Dans le fichier struts-config.xml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
<global-forwards>
  <forward name="show_page1" path="/show_page1.do"/>
</global-forwards>
 
<action-mappings>
  <action path="/show_page1" forward="page.one"/>
</action-mappings>
Avec une definition dans le tiles-defs.xml qui s'appellerait donc "page.one".


Ca OK, ca fonctionne. De meme qu'on pourrait appeler directement l'action sans passer par le forward en remplacant le forward="show_page1" dans la jsp par un action="show_page1.do".

Ce que je chercherais a faire serait de faire abstraction de l'action, pour n'utiliser que le forward et ainsi dans le struts-config.xml n'avoir plus que
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
<global-forwards>
  <forward name="show_page1" path="page.one"/>
</global-forwards>
 
<!-- Sans l'action mapping donc -->
Le probleme, c est que ca ne marche pas! (avec struts 1.2.9)

J'ai cherché sur le net avant de poster et le pire c est que je trouve des resultats contradictoires. Sur certains site & mailing-lists il est ecrit qu'on peut proceder de la sorte alors que dans d'autres il est tout simplement ecrit "c est pas possible".
Lorsque j'essaie ma methode (equivalente a celle decrite sur les site qui affirment qu'on peut proceder ainsi) je me retrouve a un lien generé dans la jsp qui n'est autre que "page.one". En clair, struts genere le lien sans prendre en compte les definitions de tiles et me propose un lien vers une hypothetique page "page.one"...

Si quelqu'un avait une solution / explication à proposer...