Bonjour à tous,
j'essaie d'afficher un arbre de données sur une page web à partir d'une base de données.
je travaille avec hibernate pour la connection à la BD, pour la présentation j'utilise struts, et pour afficher mon arbre il y struts layout en utilisant le tag treeview.
Mon problème c'est lors de l'affichage de l'arbre, j'en ai que les fils de la racine affichés, et les nœuds s'ouvrent pas .
je vous donne le code:

l'action qui construit l'arbre:
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
 
 public ActionForward treeView(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        Objectif pere = metier.getManagerO().getByPrimaryKey(new Objectif(), "PlanAction");
        String location = null;
        MenuComponent racine = new MenuComponent();
        racine.setTitle(pere.getCode());
        racine.setName("PlanAction");
 
        List<Objectif> fils = metier.fils(pere);
        for (Objectif f : fils) {
                MenuComponent menuObjectifFils = method(f, location);
                racine.addMenuComponent(menuObjectifFils);
            }
        if (request.getSession().getAttribute(MenuRepository.MENU_REPOSITORY_KEY) == null) {
            request.getSession().setAttribute(MenuRepository.MENU_REPOSITORY_KEY, new MenuRepository());
        }
 
        ((MenuRepository) request.getSession().getAttribute(MenuRepository.MENU_REPOSITORY_KEY)).addMenu(racine);
        return mapping.findForward("tree");
    }
 
    public MenuComponent method(Objectif objectif, String location) {
 
        MenuComponent menuObjectif = new MenuComponent();
        menuObjectif.setTitle(objectif.getCode());
        menuObjectif.setName(objectif.getCode());
 
        //menuObjectif.setLocation(location);
        List<Objectif> fils = metier.fils(objectif);
        if (!fils.isEmpty()) {
            for (Objectif f : fils) {
                MenuComponent menuObjectifFils = method(f, location);
                menuObjectif.addMenuComponent(menuObjectifFils);
 
            }
        }
        return menuObjectif;
    }
en tree.jsp:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
<div align="center">
    <layout:grid>
        <layout:panel styleClass="FORM">
            <layout:treeview name="PlanAction"/>
        </layout:panel>
    </layout:grid>
</div>
l'action dans struts-config:
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
 
<action
            name="LoginForm"
            path="/Arborescence"
            scope="session"
            parameter="method"
            type="com.myapp.struts.ArborescenceAction"
            validate="false">
            <forward name="tree" path="/JSP/treeOfActions.jsp" />
        </action>
 
<action
            path="/treeview"
            type="fr.improve.struts.taglib.layout.treeview.TreeviewAction"
            scope="request"
            validate="false" />
SVP, j'ai essayé de voir les autre discussions mais j'ai pas réussi à résoudre mon problème, et là je vous demande de l'aide.
Et merci d'avance!