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 :

Comment faire fonctionner Struts-Layout ?


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2006
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 51
    Par défaut Comment faire fonctionner Struts-Layout ?
    salut tous le monde
    je suis entrain de réaliser une application web avec struts et je veux utilser un menu à onglet et un menu arboréssant dynamique (le nombre d'Item ainsi que leurs propriétés soit parametrable selon des privilege de user récupéré d'une bdd)
    grace à votre aide (cette excelent forum) j'ai réussi à faire foctionner struts-menu mais ce dérnier ne répond pas tout à fait à mon besoin puisque les menuItem d'un menu se trouve figé dans menu-config.xml et toute modification de ce fichier.xml nécessite de redéployé l'application. c'est pour cela que je veut passer à struts-layout mais la doc officiel n'est pas vraiment claire donc j'ai quelque questions :
    1) est ce qu'il ya deux possibilité d'utiliser un menu dans struts layout
    - le construire dans une jsp
    - le construire dans une action et faire un simple appel dans la jsp et c'est la solution qui m'intéressent
    2) est ce que vous pouvez m'éclairer comment mettre en oeuvre struts layout
    c'est à dire :
    -ou mettre les fichier .jar (est c'est comme struts-menu)
    - ou mettre les tld
    - qu'est ce qu'il faut mettre dans la jsp
    - qu'est qu'un repository de menu ?
    bref comment le faire fonctionner

    merci d'avance.

  2. #2
    Expert confirmé

    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
    Par défaut
    Tu peux effectivement constituer le treeview dans l'Action et faire un simple appel dans la jsp.
    Tu as un exemple dans cette discussion.

    Sinon, pour la mise en oeuvre, il faut suivre les instructions d'installation décrites ici.

    Et dans la jsp, ne pas oublier d'inclure le javascript de Struts-Layout en ajoutant le tag layout:skin dans la balise <head> :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	<layout:skin includeScript="true"/>

  3. #3
    Membre averti
    Inscrit en
    Février 2006
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 51
    Par défaut
    merci c_nvy pour votre aide
    je n'est pas encore réussi à faire fonctionner struts layout.
    * je vais décrire toute mes étape :
    1)j'ai copier struts-layout.jar dans le répertoire lib
    2)j'ai ajouter les répertoire images et config dans webRoot
    3)j'ai ajouter le pluguin suivant dans struts-config.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <plug-in className="fr.improve.struts.taglib.layout.workflow.LayoutPlugin"/>
    4) j'ai mis struts-layout.tld dans web-inf

    * et dans ma page jsp :

    1) j'ai importé le tag layout de deux façon et je ne sait pas laquel est bonne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <%@ taglib uri="http://struts.application-servers.com/layout" prefix="layout" %>
    ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <%@ taglib uri="/WEB-INF/struts-layout.tld" prefix="layout" %>
    2) j'ai ajouter le skin dans la partie head
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <layout:skin includeScript="true"/>
    4)
    * et voici ma page jsp qui contient le tree wiew
    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
     
    <html:html >
      <head>
        <html:base />
     
        <title>kh.jsp</title>
     
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
         <layout:skin includeScript="true"/>
      </head>
     
      <body>
     
    <layout:treeview>
      <layout:menuItem key="treeview.menu1" link="link1.html"/>
    	<layout:menuItem key="treeview.menu2">
    	<layout:menuItem key="treeview.menu2.submenu1">
            <layout:menuItem key="treeview.menu2.submenu1.item1" link="link2.html"/>
    	<layout:menuItem key="treeview.menu2.submenu1.item1" link="link3.html"/>
    	</layout:menuItem>
    	<layout:menuItem key="treeview.menu2.submenu2" link="link3.html"/>
    	<layout:menuItem key="treeview.menu2.submenu3" link="link4.html"/>			</layout:menuItem>
    </layout:treeview>
     
      </body>
    </html:html>
    et pour le fichier .propertie
    j'ai deux fichier l'un et déclaré dans struts-config comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <message-resources parameter="com.khMenu.struts.ApplicationResources" />
    et l'autre qui porte le nom struts-layout je l'ai tout simplement mis dans web-inf/classes sans le déclarer dans struts-menu.xml est ce qu'il faut l'ajouter dans struts config.xml et comment faire appel à ce fichier dans ma jsp par l'attribut bundlle ?
    en tous cas j'ai mis dans les 2 fichier .properties le contenu suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    directory.images = config
    directory.config = config
    #pour les libellé du treeview
    treeview.menu1 = kh1
    treeview.menu2 = kh2
    treeview.menu2.submenu1 = kh11
    treeview.menu2.submenu1.item1 = kh111
    treeview.menu2.submenu2 = kh12
    treeview.menu2.submenu3 = kh13
    des que j'appel la page le browser m'affiche l'erreus suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    exception 
    javax.servlet.ServletException: org/apache/struts/taglib/TagUtils
    ........
    cause mère
    java.lang.NoClassDefFoundError: org/apache/struts/taglib/TagUtils
    .......................
    une autre question si je construit mon treewiew dans une action ,est ce que cette action devrra etre celle qui appelera la page jsp qui contient le treeview



    si quelqu'un peut m'aider je serait vraiment reconnaissant

  4. #4
    Expert confirmé

    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
    Par défaut
    java.lang.NoClassDefFoundError: org/apache/struts/taglib/TagUtils
    La classe TagUtils est dans le jar de Struts.
    Quelles versions de Struts et de Struts-Layout utilises-tu ?

  5. #5
    Membre averti
    Inscrit en
    Février 2006
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 51
    Par défaut
    Merci c_nvy effectivement il s’agissait d’un problème de version puisque lorsque j’ai ajouté le fichier « Struts-Layout-1.2-Struts-1.1-compatibility.jar » le problème était résolu.
    Vous venez de me le confirmer. Sans faire attention j’ai utilisé struts1.1 au lieu de struts1.2 ; lorsque j’ai ajouté le .jar ci dessus j’ai résolu le pb sans comprendre comment merci pou l’éclairassent.
    Il me reste comme même un problème il s’agit des fichiers .properties
    Mon application n’arrive pas à détecter le fichier Struts-layout_default.properties j’ai réussi à afficher les messages de ce fichier et je n’arrive pas à afficher les petite image.png du treeview je suppose que c’est dans ce fichier qu’on précise les deux directories

    directory.images = images

    directory.config = config

    le fichier Struts-layout_default.properties je l’ai copier tel quel a partir de strutsLayout.zip que j’ai téléchargé il contient plusieurs couple/valeur que j’ai laisser tel quel

    merci d’avance

  6. #6
    Expert confirmé

    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
    Par défaut
    Si les images du treeview (les gifs de préfixe tree) sont bien dans le répertoire images, il faut bien coder ceci dans Struts-Layout_default.properties :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    directory.images = images
    directory.config = config
    Tu n'as effectivement pas besoin de modifier les autres associations clés/valeurs.
    Ce fichier doit être sous WEB-INF/classes et il n'y a aucune déclaration à faire dans le struts-config.xml concernant ce fichier.
    Les libellés du treeview ne doivent pas être codés dans ce fichier mais plutôt dans le fichier ApplicationResources.properties.

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

Discussions similaires

  1. [SPAW] Comment faire fonctionner Spaw
    Par Seth77 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 09/02/2006, 18h22
  2. [Vs.Net & SQL Serveur] Comment faire fonctionner le Débu
    Par MoTUmBo dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 31/08/2005, 19h23
  3. Comment faire fonctionner une scroll bar ???
    Par toto4650 dans le forum MFC
    Réponses: 10
    Dernier message: 18/07/2005, 16h47
  4. [Chat] Comment faire fonctionner Flash 7 sous Debian ?
    Par piff62 dans le forum Evolutions du club
    Réponses: 22
    Dernier message: 07/03/2005, 15h27
  5. comment faire fonctionner l'exe sur une autre machine
    Par brian79 dans le forum C++Builder
    Réponses: 8
    Dernier message: 28/05/2004, 14h00

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