Bonjour à tous !
Voilà mon petit soucis (en dehors du fait que je suis un newbie totalement noob en java j'entends)
J'ai un menu dans une jsp constitué via un fichier de properties, le tout prend la forme d'un arbre. Ca a ce style :
Quand on clique sur le signe "plus" ça déploie un sous-menu évidemment associé au menu principal. La modification que je dois faire, c'est m'arranger pour que dans certain cas (en fonction des privilèges utilisateurs notamment) les options de menu soient accessibles ou non. Mettons que l'utilisateur en cours ne peut utiliser que les menus 2, 3 et 5, j'aimerais que mon résultat à l'écran soit celui-ci :Titre Menu
+ Menu1
+ Menu2
+ Menu3
+ Menu4
+ Menu5
Pour le moment je me propose de laisser de côté la partie "privilège utilisateur" pour voir comment modifier la mise en forme de ce menu.Titre Menu
+ Menu2
+ Menu3
+ Menu5
Comme je viens de débuter, que je suis une grosse bille en Java (mon domaine à la base c'était plutôt le COBOL) je réclame l'aide des sachants que vous êtes !
Le properties se présente ainsi :
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 // Liste des applications listeApplications=Menu1;Menu2;Menu3;Menu4;Menu5 //Définition de chacune des applications : // -le libellé pour la page d'accueil // - le nom des classes correspondant à une table menu1.libelle=Menu1 menu1.listeTables=com.nomAppli.model.Menu1.sousMenu1;com.nomAppli.model.Menu1.sousMenu2;com.nomAppli.model.Menu1.sousMenu3 menu2.libelle=Menu2 menu2.listeTables=com.nomAppli.model.Menu2.sousMenu1;com.nomAppli.model.Menu2.sousMenu2;com.nomAppli.model.Menu2.sousMenu3 menu3.libelle=Menu3 menu3.listeTables=com.nomAppli.model.Menu3.sousMenu1;com.nomAppli.model.Menu3.sousMenu2 menu4.libelle=Menu4 menu4.listeTables=com.nomAppli.model.Menu4.sousMenu1;com.nomAppli.model.Menu4.sousMenu2;com.nomAppli.model.Menu4.sousMenu3;com.nomAppli.model.Menu4.sousMenu4 menu5.libelle=Menu5 menu5.listeTables=com.nomAppli.model.Menu5.sousMenu1 //Définition de chacune des tables // -le libellé pour la page d'accueil com.nomAppli.model.Menu1.sousMenu1=sous menu 1.1 com.nomAppli.model.Menu1.sousMenu1=sous menu 1.2 com.nomAppli.model.Menu1.sousMenu1=sous menu 1.3 com.nomAppli.model.Menu2.sousMenu1=sous menu 2.1 com.nomAppli.model.Menu2.sousMenu1=sous menu 2.2 com.nomAppli.model.Menu2.sousMenu1=sous menu 2.3 com.nomAppli.model.Menu3.sousMenu1=sous menu 3.1 com.nomAppli.model.Menu3.sousMenu1=sous menu 3.2 com.nomAppli.model.Menu4.sousMenu1=sous menu 4.1 com.nomAppli.model.Menu4.sousMenu1=sous menu 4.2 com.nomAppli.model.Menu4.sousMenu1=sous menu 4.3 com.nomAppli.model.Menu4.sousMenu1=sous menu 4.4 com.nomAppli.model.Menu5.sousMenu1=sous menu 5.1
La partie du controller qui créé l'arbre du menu est - je suppose du moins - celle-ci :
Et éventuellement la JSP si vous en avez besoin :
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 private Arbre createArbre() throws AppliControllerException { Racine racine = new Racine("Titre Menu1", "Titre Menu2"); Arbre arbre = new Arbre(racine); Collection<String> listeApplications = recupererListe("listeApplications"); getSessionContext().set("listeApplications", (Serializable) listeApplications); Collection<String> listeTables = new ArrayList<String>(); for (String application : listeApplications) { String libelleApplication = propertiesService.getPropriete(application + AppliConstantes.LIBELLE, AppliConstantes.PARAMETRAGE_FILE_NAME); Collection<String> listeTablesCetteApplication = recupererListe(application + ".listeTables"); listeTables.addAll(listeTablesCetteApplication); racine.add(new Noeud(application, libelleApplication)); } getSessionContext().set("listeTables", (Serializable) listeTables); return arbre; }
Bref si vous savez comment procéder et m'expliquer comment faire vous aurez toute ma reconnaissance !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <sipp:arbre arbre="${arbre}" id="arbre" isRacineOuverte="true" actionAjax="Accueil/miseAjour"> <sipp:noeud icone="puce" type="compte"></sipp:noeud> <c:forEach items="${listeApplications}" var="appli" > <sipp:noeud icone="fleche_enchainement" type="${appli}"></sipp:noeud> </c:forEach> <c:forEach items="${listeTables}" var="table" > <sipp:noeud icone="dossier_ferme" type="${table}" action="${urls[table]}"></sipp:noeud> </c:forEach> </sipp:arbre>![]()
Partager