[struts]tiles impbriquées : marche pas ?!

tiles impbriquées : marche pas ?! [struts] - Java - Programmation

Marsh Posté le 09-03-2005 à 13:50:18    

alors, voilà moi fichier de définition de tiles :

Code :
  1. <definition name="baseTile" path="/pages/common/base.jsp">
  2.  <put name="type" value="/pages/common/webType.jsp" />
  3.  <put name="footer" value="/pages/common/footer.jsp" />
  4.  <put name="content" value="" />
  5.  <put name="criteria" value=""/>
  6.  <put name="export" value=""/>
  7.  <put name="report" value=""/>
  8. </definition>
  9. <definition name="baseReportTile" extends="baseTile">
  10.  <put name="content" value="/pages/common/report.jsp" />
  11.  <put name="criteria" value="/pages/common/criteria.jsp" />
  12.  <put name="export" value="/pages/common/export.jsp" />
  13. </definition>
  14. <definition name="absTypeReportTile" extends="baseReportTile">
  15.  <put name="report" value="/pages/reports/absTypeReport.jsp" />
  16. </definition>


 
Le truc, c'est que ça fontionne pas au niveau de absTypeReportTile :)
dans base.jsp, je fais <tiles:insert attribute="content" flush="true"/>, dans report.jsp je fais un <tiles:insert attribute="criteria" flush="true"/> et là je m'apperçois que tout les attributs ont disparu : Error - Tag Insert : No value found for attribute 'criteria'.'
 
Donc en gros, à l'intérieur de report.jsp, je n'ai pas accès aux attributs.
Du coup, j'ai testé ça :  

Code :
  1. <definition name="baseReportTile" path="/pages/common/base.jsp">
  2.  <put name="criteria" value="/pages/common/criteria.jsp" />
  3.  <put name="export" value="/pages/common/export.jsp" />
  4.  <put name="report" value=""/>
  5. </definition>
  6. <definition name="absTypeReport" extends="baseReportTile">
  7.  <put name="report" value="/pages/reports/absTypeReport.jsp" />
  8. </definition>
  9. <definition name="absTypeReportTile" extends="baseTile">
  10.  <put name="content" value="absTypeReport"></put>
  11. </definition>


 
mais spa mieux, je me récupère un beau  Error - Tag Insert : No value found for attribute 'type'.'
et cette fois, je ne sais pas qui essaye d'atteindre l'attribut 'type', et toute façon, il devrait être défini partout...
 
 
est-ce que quelqu'un a déjà eu ce problème ?


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Marsh Posté le 09-03-2005 à 13:50:18   

Reply

Marsh Posté le 09-03-2005 à 14:31:49    

et en essayant de mettre <tiles:importAttribute scope="request"/> dans base.jsp ca donne quoi ?

Reply

Marsh Posté le 09-03-2005 à 14:43:31    

pas mieux...


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Marsh Posté le 09-03-2005 à 15:11:34    

ah mon avis ta premiere tile definition est bonne, je pense que le probleme se situe du cote de l'insert que tu fais ds report.jsp. Normallement ta maquette c'est base.jsp et c'est en principe seulement la que tu dois faire des insert, non ? je me trompe peut etre completement

Reply

Marsh Posté le 09-03-2005 à 15:24:35    

ben je commence a croire que c'est effectivement ça, puisque les inserts que je fais dans les autres jsp foirent complet...
 


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Marsh Posté le 09-03-2005 à 16:19:20    

ok, bon, ben truc crade : j'ai ajouté ça a base.jsp :

Code :
  1. <tiles:useAttribute name="criteriaTile" scope="request" ignore="true"/>
  2. <tiles:useAttribute name="reportTile" scope="request" ignore="true"/>
  3. <tiles:useAttribute name="exportTile" scope="request" ignore="true"/>


et ça dans report.jsp

Code :
  1. <bean:define id="criteriaTile" name="criteriaTile"/>
  2. <bean:define id="reportTile" name="reportTile"/>
  3. <bean:define id="exportTile" name="exportTile"/>


 
mon tiles-def.xml est devenu

Code :
  1. <definition name="baseTile" path="/pages/common/base.jsp">
  2.  <put name="type" value="/pages/common/webType.jsp" />
  3.  <put name="footer" value="/pages/common/footer.jsp" />
  4.  <put name="content" value="" />
  5. </definition>
  6. <definition name="selectionFormTile" extends="baseTile">
  7.  <put name="content" value="/pages/selectionForm.jsp" />
  8. </definition>
  9. <definition name="absTypeReportTile" extends="baseTile">
  10.  <put name="content" value="/pages/common/report.jsp" />
  11.  <put name="reportTile" value="/pages/reports/absTypeReport.jsp" />
  12.  <put name="criteriaTile" value="/pages/common/criteria.jsp" />
  13.  <put name="exportTile" value="/pages/common/export.jsp" />
  14. </definition>


et mes imports deviennent <jsp:include page="<%=criteriaTile%>" flush="true"/>
 
et hop!
 
c'est moche, mais ça marche
 
si qq1 voit un moyen de faire ça propre, je suis tout ouïe.


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Marsh Posté le 17-03-2005 à 13:41:32    

A mon avis, ca devrait t'aider (en train de tester).
 
http://wiki.apache.org/struts/StrutsDocTiles
 
Antoine Tissier

Reply

Marsh Posté le 17-03-2005 à 19:14:19    

hum !!!
bien vue!
 
merci de ton aide, j'ai un peu honte de pas avoir trouvée cette page....


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed