Bonjour,

Je crée des pages à l'aide de templates : un pour l'affichage du contenu de la page, l'autre pour un sous-menu de navigation se trouvant à gauche de la page affichée. J'ai aussi un menu principal, se trouvant en haut de page, qui reste statique.
La figure suivante devrait mieux expliquer :

Bref : j'aimerais générer le menu de gauche en fonction du lien sur lequel l'utilisateur clique dans le menu principal.
"Contenu1" -> sous-menu 1
"Contenu2" -> sous-menu 2
etc...
J'ai donc une classe de génération de sous-menus, qui va ajouter ceux-ci à la session de mon utilisateur, sous forme de tableaux :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
String[] sideMenuTitles = {"Titre1", "Titre2"};
String[][] sideMenuItems = {{"Lien1.1","Lien1.2","Lien1.3"},{"Lien2.1","Lien2.2","Lien2.3"}};
Ma question maintenant (on y arrive!) :
Ma template doit générer un certain nombre de containers, dépendant du nombre de titres que l'utilisateur a en session. Chacun de ces containers doit ensuite contenir un nombre d'emplacement de liens dépendant du nombre de liens contenus pour un titre de mon tableau de titres...
Je devrais donc avoir un truc du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<c:forEach var="l'indice de mon titre dans le tableau" items="${sessionScope.sideMenuTitles}">
   <li>
      <h2><template:get name='"menu"  + l'indice + "Title"'/></h2>
         <ul>
            <c:forEach var="l'indice de mon lien dans le tableau" items="${sessionScope.sideMenuItems[l'indice de mon titre]}">
               <li><template:get name='"menu" + l'indice de mon titre + "Link" + l'indice de mon lien/></li>
            </c:forEach>
         </ul>
   </li>
</c:forEach>
Et donc, comment je fais pour :
- récupérer l'indice ?
- créer les noms de variables en incluant l'indice dedans ?

Pour les templates, j'ai utilisé les classes et les tags présentés ici