IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Struts 1 Java Discussion :

[tiles defs] héritage?


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2008
    Messages : 96
    Par défaut [tiles defs] héritage?
    Dans tiles-defs.xml, j'aimerais faire de "l'héritage de layout".
    Je m'explique :

    Je dispose d'une permière définition de layout

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <definition name="layout.appli" page="/tiles/layoutAppli.jsp">
         <put name="title" value="myTitle" />
         <put name="header" value="/web/myHeader.jsp" />
         <put name="menu" value="layout.menu" />
         <put name="body" value="/web/myBody.jsp" />
    </definition>
    Cette définition contient la définition du layout suivant : layout.menu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <definition name="layout.menu" page="/tiles/layoutMenu.jsp">
         <!-- les definitions basées sur ce layout peuvent definir "menu1" -->
         <!-- les definitions basées sur ce layout peuvent definir "menu2" -->
         <!-- les definitions basées sur ce layout peuvent definir "menu3" -->
    </definition>
    Et dans la définition de ma page j'aimerais pouvoir définir au même niveau les attributs de mon premier layout et celui de mon deuxième layout, comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <definition name="maPage" extends="layout.appli">
         <put name="menu2" value="/web/myMenu2.jsp" />
         <put name="menu3" value="/web/myMenu3.jsp" />
         <put name="body" value="/web/myNewBody.jsp" />
    </definition>
    Cette configuration ne fonctionne pas.
    Avez-vous une proposition de config à me proposer?

    Merci

  2. #2
    Membre averti
    Développeur informatique
    Inscrit en
    Janvier 2008
    Messages
    38
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 38
    Par défaut
    Si je comprends bien, tu as des menus statiques. Et bah!! si oui, je te propose de rendre la définition dans laquelle tu définie tes menus, ta définition principale, et après tu hérites de cette définition autant que tu veux en changeant le body, le header, et pourquoi pas un au plus de tes menus principaux.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2008
    Messages : 96
    Par défaut
    Citation Envoyé par adilsky Voir le message
    Si je comprends bien, tu as des menus statiques
    Voila comment j'ai défini mes menus.

    Dans tiles-def.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <definition name="monMenu1" page="/tiles/layout1Menu.jsp">
    	<put name="titreMenu" value="monTitre"/>
    	<putList name="menu">
    		<item link="lien1.do?" value="item1" tooltip="select"></item>
                    <item link="lien2.do?" value="item2" ></item>
                    <item link="lien3.do?" value="item3" ></item>
    	</putList>
    </definition>
    Dans layout1Menu.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
    <tiles:useAttribute id="menu" name="menu" classname="java.util.List" ignore="true"/>
     
    <logic:present name="menu">
    	<ul class="vertmenu">
    		<li class="libelleMenu"><tiles:getAsString name="titreMenu"/></li>
    		<logic:iterate id="item" name="menu" type="org.apache.struts.tiles.beans.SimpleMenuItem">
    			<li>
    				<a href="<bean:write name="item" property="link"/>" 
    					class="<bean:write name="item" property="tooltip"/>">
    					<bean:write name="item" property="value"/>
    				</a>
    			</li>
    		</logic:iterate>
    	</ul>
    </logic:present>
    Dans layoutMenu.jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <div id="menu1">
          <tiles:insert name="menu1" ignore="true"/>
    </div>
    <div id="menu1">
          <tiles:insert name="menu2" ignore="true"/>
    </div>
    <div id="menu1">
          <tiles:insert name="menu3" ignore="true"/>
    </div>
    Citation Envoyé par adilsky Voir le message
    je te propose de rendre la définition dans laquelle tu définie tes menus, ta définition principale, et après tu hérites de cette définition autant que tu veux en changeant le body, le header, et pourquoi pas un au plus de tes menus principaux.
    Je n'arrive pas à comprendre ton idée...Peux-tu stp m'en dire un peu plus.

    Merci

    Pour être plus précis avec mon post précédent, la définition de ma page dans tiles-defs.xml serait donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <definition name="maPage" extends="layout.appli">
         <put name="menu2" value="monMenu2" />
         <put name="menu3" value="monMenu3" />
         <put name="body" value="/web/myNewBody.jsp" />
    </definition>

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2008
    Messages : 96
    Par défaut
    Ma gestion des menu dans le fichier tiles-defs.xml n'est peut être pas correct.
    Je me trouve bloqué si je veux ajouter un paramètre dans mon URL.

    Quelle autre solution m'est offerte par struts?

    Merci

  5. #5
    Membre averti
    Développeur informatique
    Inscrit en
    Janvier 2008
    Messages
    38
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 38
    Par défaut
    Bonsoir,
    Bon désolé de ce retard de ne pas te répondre et t'expliquer mon idée .
    Mon idée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <definition name="layout.appli" page="/tiles/layoutAppli.jsp">
         <put name="title" value="myTitle" />
         <put name="header" value="/web/myHeader.jsp" />
         <put name="menu1" value="/web/menu1.jsp" />
         <put name="menu2" value="/web/menu2.jsp" />
         <put name="menu3" value="/web/menu3.jsp" />
         <put name="body" value="/web/myBody.jsp" />
    </definition>
    maintenant
    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
     
    <definition name="maPage1" extends="layout.appli">
         <put name="menu2" value="/web/myMenu2.jsp" />
         <put name="menu3" value="/web/myMenu3.jsp" />
         <put name="body" value="/web/myNewBody.jsp" />
    </definition>
     
    <definition name="maPage2" extends="layout.appli">
         <put name="menu2" value="/web/myMenu4.jsp" />
         <put name="body2" value="/web/myNewBody2.jsp" />
    </definition>
     
    <definition name="maPage3" extends="myPage1">
         <put name="body3" value="/web/myNewBody3.jsp" />
    </definition>
     
    <definition name="maPage4" extends="myPage2">
         <put name="body4" value="/web/myNewBody4.jsp" />
    </definition>
    ...
    Et juste pour te dire, fais attention dans le struts-config.xml, quand tu fais un forward vers une de tes nouvelles pages, le path ne contient pas le lien de cette page mais sa définition cité dans tiles-defs.xml.

Discussions similaires

  1. Réponses: 5
    Dernier message: 25/01/2012, 14h09
  2. Multiples Tiles-def.xml sur un projet
    Par Haelle dans le forum Struts 1
    Réponses: 2
    Dernier message: 06/08/2010, 15h58
  3. [Struts 1.3.8] problème de tiles-def.xml
    Par fk04 dans le forum Struts 1
    Réponses: 11
    Dernier message: 07/11/2007, 18h24
  4. Réponses: 1
    Dernier message: 09/05/2007, 16h35
  5. génération du fichier tiles-defs.xml
    Par josémaria dans le forum Struts 1
    Réponses: 2
    Dernier message: 29/11/2006, 10h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo