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 :

Menu, header, footer, body avec Struts-layout


Sujet :

Struts 1 Java

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 22
    Points : 21
    Points
    21
    Par défaut Menu, header, footer, body avec Struts-layout
    Bonjour,
    je cherche un code source d'une petite application struts ou il y a un menu, header, body et footer avec struts-layout. J'ai chercher sur internet pour trouver comment implementer cette architecture avec struts-layout mais j'ai pas trouver un exemple bien claire. Donc si kelk1 peut me donner un site ou un lien ou je peut trouver un code souce d'une petite application.

    Merci d'avance

  2. #2
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Il faut utiliser les Tiles et non Struts-Layout.

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 22
    Points : 21
    Points
    21
    Par défaut les Tiles
    Citation Envoyé par c_nvy Voir le message
    Il faut utiliser les Tiles et non Struts-Layout.
    Merci pour votre réponse. J'ai trouvé des exemples a propos de ça, mais comment changer seulement le body et garder le menu et le footer fixe (le forword remplace toute la page index.jsp par la page destination).

  4. #4
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Dans le fichier tiles-def.xml, tu as la possibilité de définir un tile uniquement destiné à l'héritage.
    Dans celui-ci, tu définis la partie commune à toutes les jsp, soit header, menu et footer par exemple.
    Ensuite, tu définis un tile pour chaque page jsp, avec par exemple un titre et un body comme ceci :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
      <definition name=".layout" path="/mainLayout.jsp"> 
          <put name="header" value="/header.jsp" /> 
          <put name="menu"   value="/menu.jsp" /> 
          <put name="footer" value="/footer.jsp" /> 
      </definition>
      <definition name="page1" extends=".layout"> 
          <put name="title"  value="Mon titre 1" /> 
          <put name="body"   value="/page1.jsp" /> 
      </definition>
      <definition name="page2" extends=".layout"> 
          <put name="title"  value="Mon titre 2" /> 
          <put name="body"   value="/page2.jsp" /> 
      </definition>
    Par contre, il faut savoir qu'avec les Tiles, quand tu cliques par exemple dans menu, la page est rafraîchie intégralement, même si seul le contenu du body change à l'affichage.

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 22
    Points : 21
    Points
    21
    Par défaut
    Citation Envoyé par c_nvy Voir le message
    Dans le fichier tiles-def.xml, tu as la possibilité de définir un tile uniquement destiné à l'héritage.
    Dans celui-ci, tu définis la partie commune à toutes les jsp, soit header, menu et footer par exemple.
    Ensuite, tu définis un tile pour chaque page jsp, avec par exemple un titre et un body comme ceci :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
      <definition name=".layout" path="/mainLayout.jsp"> 
          <put name="header" value="/header.jsp" /> 
          <put name="menu"   value="/menu.jsp" /> 
          <put name="footer" value="/footer.jsp" /> 
      </definition>
      <definition name="page1" extends=".layout"> 
          <put name="title"  value="Mon titre 1" /> 
          <put name="body"   value="/page1.jsp" /> 
      </definition>
      <definition name="page2" extends=".layout"> 
          <put name="title"  value="Mon titre 2" /> 
          <put name="body"   value="/page2.jsp" /> 
      </definition>
    Par contre, il faut savoir qu'avec les Tiles, quand tu cliques par exemple dans menu, la page est rafraîchie intégralement, même si seul le contenu du body change à l'affichage.

    Merci beaucoup pour votre aide

  6. #6
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 22
    Points : 21
    Points
    21
    Par défaut
    1- J'ai créé un projet struts,
    2- ajouter un fichier "tiles-defs.xml" dans le dossier "WEB-INF",
    3- ajouter le code suivant dans le fichier "tiles-defs.xml":
    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
     
    <?xml version="1.0" encoding="ISO-8859-1" ?>
     
    <!DOCTYPE tiles-definitions PUBLIC
    "-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"
    "http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
     
    <tiles-definitions>
     
    	<definition name=".layout" path="form/mainLayout.jsp">
    		<put name="header" value="form/header.jsp" />
    		<put name="menu" value="form/menu.jsp" />
    		<put name="footer" value="form/footer.jsp" />
    	</definition>
    	<definition name="page1" extends=".layout">
    		<put name="title" value="Mon titre 1" />
    		<put name="body" value="form/page1.jsp" />
    	</definition>
    	<definition name="page2" extends=".layout">
    		<put name="title" value="Mon titre 2" />
    		<put name="body" value="form/page2.jsp" />
    	</definition>
     
    </tiles-definitions>
    4- j'ai créé des pages (mainLayout.jsp, header.jsp, menu.jsp, footer.jsp, page1.jsp, page2.jsp) dans le dossier "form"

    5- j'ai mis mainLayout dans welcome-file-liste dans le fichier "web.xml"
    6- j'ai déployer le projer dans le serveur tomcate

    Mais ce que j'ai comme resultat est le contenue de la page "mainLayout.jsp"
    Alors est ce qu'il y a quelque chose qui manque a ce que j'ai fait ????

  7. #7
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Dans mainLayout.jsp, tu dois coder les tags tiles:insert pour les attributs header, menu, body et footer.

    Quelque chose du style :
    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
    29
    30
    31
    32
    33
    34
    35
    36
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles" %>
     
    <html>
     
    <head>
    	<title><tiles:getAsString name="title"/></title>
    </head>
     
    <body >
     
    <table align="left" cellpadding="0" cellspacing="1" width="100%" border="0" style="position:absolute; margin:0px; left:0px; top:0px; overflow:hidden; background-position:left;" >
    	<tr>
    		<td><tiles:insert attribute="header"/></td>
    	</tr>
    	<tr>
    		<td valign="top" align="left" border="0" width="20%">	
    			<div ID="menu" border="0" style="overflow:auto; left:0px; top:0px; height:746px; width:100%; z-index:3">
    				<tiles:insert attribute="menu"/>
    			</div>
    		</td>
    		<td valign="top" align="left" border="0">	
    			<div ID="contenu" border="0" style="overflow:auto; left:0px; top:0px; height746px; width:100%; z-index:3">
    				<tiles:insert attribute="body">
    			</div>			
    		</td>
    	</tr>
    	<tr valign="bottom">
    		<td>
    			<tiles:insert attribute="footer" flush="true"/>
    		</td>
    	</tr>
    </table>
     
    </body>
     
    </html>
    A adapter à ton besoin.

    Et il ne faut pas mettre mainLayout.jsp dans le welcome-file mais plutôt une page index.jsp dans laquelle tu peux faire un forward vers page1 par exemple.

    Il serait judicieux de suivre un bon tutoriel.

  8. #8
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut
    Celui-ci par exemple.

  9. #9
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 22
    Points : 21
    Points
    21
    Par défaut
    Merci a tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec Struts-layout Date
    Par Caprissa dans le forum Struts 1
    Réponses: 1
    Dernier message: 23/07/2009, 13h06
  2. prb de treeview avec struts-layout
    Par nsdcrew dans le forum Struts 1
    Réponses: 0
    Dernier message: 26/06/2009, 17h40
  3. problème avec struts-layout
    Par khayri dans le forum Struts 1
    Réponses: 1
    Dernier message: 16/04/2007, 10h36
  4. Réponses: 1
    Dernier message: 29/09/2006, 12h00
  5. affichage tableau avec struts layout
    Par imane_bennouna dans le forum Struts 1
    Réponses: 3
    Dernier message: 07/08/2006, 11h17

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