IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Taglibs Java Discussion :

[débutant] Utilisation de jstl pour une internationnalisation [JSTL]


Sujet :

Taglibs Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 32
    Par défaut [débutant] Utilisation de jstl pour une internationnalisation
    Bonjour à tous !


    Voici mon problême : je dispose d'une application web à bas de java/hibernate/struts etc .... Je dois rajouter quelques fonctionnalités dont l'internationnalisation de celle-ci. autrement dis, il faut pouvoir cliquer sur le drapeau d'un pays pour changer la langue du contenu de la page.

    Pour cela j'ai choisis d'utiliser la librairie de formatage fmt inclue dans jstl, conformement au cours disponible à cette adresse : http://adiguba.developpez.com/tutori...e/jsp/jstl/#L3

    J'ai donc créé 2 fichiers, Message_fr.properties et Message_en.properties contenant des lignes de ce style : Sur ma page jsp j'ai rajouté ceci à la déclaration des tag :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <!-- formattage des donnees -->
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
    J'ai ensuite donné la propriété régionale pour tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <fmt:setLocale value="fr" scope="session"/>
    Un peu plus loin dans mon code je fais souhaite afficher un message :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <fmt:message key="message.add"/>
    et au lieu de me retrouver avec "Ajouter" le navigateur affiche "???message.release???".

    Ma question est donc la suivante : qu'est-ce que j'ai oublié de faire ?

    Merci d'avance

  2. #2
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Les fichiers Message_fr.properties et Message_en.properties sont bien sous WEB-INF ?

    Et as-tu codé la balise suivante dans le struts-config.xml :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    <message-resources parameter="nomDuPackage.Message"/>

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 32
    Par défaut
    Salut !

    Mes fichiers .properties sont dans WEB-INF/src et j'ai mis la balise <message-resources parameter="Message" /> dans le struts-config.xml. Toujours la même erreur.

    Ce que je n'arrive pas à comprendre, c'est comment "il" fait pour aller chopper le bon fichier roperties en fonction de la langue.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 32
    Par défaut
    Il y aurait-il quelque chose à mettre dans le fichier web.xml ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 32
    Par défaut
    Je me suis rendu compte d'une bizzarerie dans le cours que j'ai mis plus haut, j'ai mis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <fmt:message key="message.add"/>
    au lieu de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <fmt:param key="message.add"/>
    Mais du coup maintenant j'ai une splendide page d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    org.apache.jasper.JasperException: /pages/jsp/index2.jsp(42,23) L'attribut key est incorrect pour le tag param d'après la TLD indiquée
    En effet, d'après la doc fmt:param ne prends pas de "key" mais "value"


  6. #6
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Non, c'est bien le tag fmt:message qu'il faut utiliser.
    Le tag fmt:param permet d'ajouter un paramètre au message, ce qui n'est pas ton cas.

    Sinon, je ne vois pas ce qui cloche.

    Peux-tu faire un test en ajoutant ceci avant le tag fmt:message :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <fmt:setBundle basename="Message"/>
    pour voir s'il parvient à accèder à ton fichier properties.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utiliser un ascenseur pour une application MDI
    Par kurkaine dans le forum C++Builder
    Réponses: 6
    Dernier message: 27/09/2006, 13h54
  2. Réponses: 6
    Dernier message: 19/08/2006, 08h15
  3. Réponses: 4
    Dernier message: 09/02/2006, 17h44
  4. [débutant] utiliser un tableau comme une frameset
    Par toudoux dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 09/02/2006, 09h16
  5. [MASM] Utiliser un .IF pour une comparaison de nombre signés
    Par Crisanar dans le forum x86 32-bits / 64-bits
    Réponses: 3
    Dernier message: 24/11/2004, 16h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo