Pour mon message d'erreur c'esdt bon, j'ai trouvé comment faire : j'ai mis le "repository" en request :
request.setAttribute("repository", repository);
au lieu de :
request.getSession().getServletContext().setAttribute(MenuRepository.MENU_REPOSITORY_KEY, repository);
Et la il trouve le repository.
Apres j'ai fait cela dans la jsp :
1 2 3 4 5
| <menu:useMenuDisplayer name="TabbedMenu" repository="repository">
<c:forEach var="menu" items="${repository.topMenus}">
<menu:displayMenu name="${menu.name}"/>
</c:forEach>
</menu:useMenuDisplayer> |
("TabbedMenu" est défini dans le menu-config.xml.)
L'erreur à l'éxécution est la suivante :
1 2 3 4 5 6 7
| 16:07:10,026 WARN [DisplayMenuTag] No menu in repository with name: ${menu.name}
16:07:10,026 WARN [DisplayMenuTag] No menu in repository with name: ${menu.name}
16:07:10,026 WARN [DisplayMenuTag] No menu in repository with name: ${menu.name}
16:07:10,026 WARN [DisplayMenuTag] No menu in repository with name: ${menu.name}
16:07:10,026 WARN [DisplayMenuTag] No menu in repository with name: ${menu.name}
16:07:10,026 WARN [DisplayMenuTag] No menu in repository with name: ${menu.name}
16:07:10,026 WARN [DisplayMenuTag] No menu in repository with name: ${menu.name} |
sachant que le nombre de fois ou il me met le message d'erreur "No menu in repository with name: ${menu.name}" est le nombre de menus définis en tant que "TopMenu" dans le repository. (donc il fait bien la boucle foreach comme il faut mais il n'arrive pas à valuer "menu.name"....)
... une idée de ou est l'astuce? Parce que je ne vois pas vraiment comment résoudre ca....
Anne
Partager