Création d'un menu de manière "dynamique"
Bonjour à tous,
Dans le cadre du développement d'une application, pour laquelle on m'a conseillé d'utiliser le système de jsp et struts, je suis déjà dans une impasse, et ne sais pas comment m'en sortir.
Lors de la connexion d'un utilisateur, je vérifie si ce dernier est connu du système, et récupère la liste des modules de l'application auquel il pourra avoir accès. Cette liste de module se trouve dans une LinkedList<String>. Les modules sont codés de manière à respecter un formalisme prédéfini.
Dans le but de rendre l'application "internationalisable" (je vois peut être un peu grand pour le début, mais cela facilitera les choses par la suite), j'ai donc créé un fichier messages.properties contenant les clé=valeur pour les messages à afficher.
Code:
1 2 3 4 5
| # Texte des Menus
menus.COURR=Courrier
menus.PATRI=Patrimoine
menus.HELP=Aide
menus.LOGOUT=Se déconnecter |
Pour l'affichage de la liste des modules, et donc la création du menu, je procède comme ceci :
Code:
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
| <%@page import="java.util.LinkedList"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="/ServeurAGMD/style/Styles.css">
<title></title>
</head>
<body>
<div class="menuhorizontal">
<ul>
<%
LinkedList<String> ll = (LinkedList<String>)session.getAttribute("modules");
java.util.Iterator<String> iter = ll.iterator();
while(iter.hasNext()){
out.println("<li><s:property key=\"menus."+iter.next()+"\" /></li>");
}
%>
</ul>
</div>
<h1>Welcome <s:property value="#session['username']" />!</h1>
</body>
</html> |
Je remarque dès lors la chose au niveau du code généré :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="/ServeurAGMD/style/Styles.css">
<title></title>
</head>
<body>
<div class="menuhorizontal">
<ul>
<li><s:property key="menus.COURR" /></li>
<li><s:property key="menus.HELP" /></li>
<li><s:property key="menus.LOGOUT" /></li>
</ul>
</div>
<h1>Welcome rthreis!</h1>
</body>
</html> |
Ce qui n'est pas ce que j'attend :?
Pourriez-vous me dire comment procéder pour obtenir la valeur se trouvant dans mon fichier properties ?
En vous remerciant tous pour l'aide que vous pourrez m'apporter.