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 :

[Struts-Layout] Treeview Dynamique


Sujet :

Struts 1 Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2002
    Messages : 32
    Points : 29
    Points
    29
    Par défaut [Struts-Layout] Treeview Dynamique
    Salut,

    Aucun problème pour générer un treeview statique... mais pour un treeview dynamique, ça se complique:

    Voici mon code "Action": j'ai un ArrayList qui me retourne le descriptif de mes catégories... il se nomme "liste"

    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
     
    public class ListAction extends Action {
    ...
      try {
        MenuComponent master = new MenuComponent();
        MenuComponent myListe[] = null;
        master.setName("Catégories");
     
        int nbreCateg = liste.size(); //ArrayList en question
        for(int i = 0; i <= nbreCateg; i++)
        {
          myCategories[i] = new MenuComponent();
          myCategories[i].setTitle(liste.toString());
          master.addMenuComponent(myCategories[i]);
     
        }
        MenuRepository menuRepository = new MenuRepository();
        menuRepository.addMenu(master);
        request.getSession().setAttribut(MenuRepository.MENU_REPOSITORY_KEY, menuRepository);		
        return mapping.findForward("listing");
    	}
    }
    En fait, si je remplace par du code en dûr ce qui passe par la boucle for, mon résultat est ok... mais là, j'ai une erreur de tomcat.

    Bref, pensez-vous que c'est une bonne solution (je travaille que sur les catégories pour le moment, mais je comptes ajouter des sous-catégories et +...)

    Merci d'avance pour vos remarques

  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
    Essaie comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
            MenuComponent master = new MenuComponent() ;
            master.setName("Catégories") ;
     
            MenuComponent menuCategories = null ;
     
            for ( int i=0; i<liste.size(); i++ )
            {
    		String nomCategorie = (String) liste.get(i);
     	        menuCategories = new MenuComponent() ;
     	        menuCategories.setTitle(nomCategorie) ;
     	        master.addMenuComponent(menuCategories) ;
            }

  3. #3
    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
    Sinon, voici un exemple de code dont tu peux t'inspirer pour constituer un treeview avec des catégories et des sous-catégories (dans mon exemple, ce sont des menus et des actions).
    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
    37
    38
    39
    40
    41
    42
    43
    44
    public class TreeviewAction extends Action
    {
        public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
    	{
            Map map = new LinkedHashMap() ;
            map.put(new Menu("menu1"),"action11") ;
            map.put(new Menu("menu1"),"action12") ;
            map.put(new Menu("menu1"),"action13") ;
            map.put(new Menu("menu2"),"action21") ;
            map.put(new Menu("menu2"),"action22") ;
            map.put(new Menu("menu2"),"action23") ;
     
            MenuComponent menuMain = new MenuComponent() ;
            menuMain.setName("menu") ;
     
            String nomMenu="" ;
            MenuComponent menuMenu = null ;
     
            Iterator iterator = map.entrySet().iterator();
            while (iterator.hasNext())
            {
        	   Map.Entry entry = (Map.Entry) iterator.next();
    	   Menu menu = (Menu) entry.getKey();
               String action = (String) entry.getValue() ;
               if (! menu.getNom().equals(nomMenu))
    	   {
    	       nomMenu = menu.getNom() ;
    	       menuMenu = this.createChildMenu(menuMain,nomMenu) ;
    	   }
               MenuComponent menuAction = this.createChildMenu(menuMenu,action) ;
            }
     
            LayoutUtils.addMenuIntoSession(request,menuMain);
     
            return mapping.findForward("success");
    	}
        private MenuComponent createChildMenu(MenuComponent menuParent,String nom)
        {
            MenuComponent menuChild = new MenuComponent() ;
            menuChild.setTitle(nom) ;
            menuParent.addMenuComponent(menuChild) ;
            return menuChild ;
        }
    }

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2002
    Messages : 32
    Points : 29
    Points
    29
    Par défaut
    Encore merci !

    Je n'ai pas encore réussi à créer mon treeview de manière récursive... mais je vais me baser sur ton exemple... je vais voir ce que je peux faire...

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 18/05/2009, 13h47
  2. [Struts-Layout] Treeview Dynamique
    Par lili2704 dans le forum Struts 1
    Réponses: 7
    Dernier message: 17/04/2007, 17h19
  3. [Struts-Layout] treeview et message resources
    Par Calahad dans le forum Struts 1
    Réponses: 12
    Dernier message: 02/10/2006, 10h01
  4. [Struts layout] Treeview
    Par Varroux dans le forum Struts 1
    Réponses: 4
    Dernier message: 11/07/2006, 12h01
  5. [STRUTS-LAYOUT] Treeview
    Par DarkWark dans le forum Struts 1
    Réponses: 13
    Dernier message: 29/03/2006, 22h51

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