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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 JSP : 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
<%@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 HTML : 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
<!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.