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

Struts 1 Java Discussion :

displaytag et i18n


Sujet :

Struts 1 Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 47
    Par défaut displaytag et i18n
    Bonjour,

    Je suis en train d'essayer de migrer une de mes applications avec de la faire fonctionner avec displaytag.
    Jusque là, cela avance plutôt pas mal. Cependant, je rencontre une difficulté que je ne parviens pas à contourner.
    Il s'agit de l'internationalisation des mes entêtes de colonne.
    Pour cela, j'ai déclaré dans mon fichier displaytag.properties les deux lignes suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    locale.provider=org.displaytag.localization.I18nStrutsAdapter
    locale.resolver=org.displaytag.localization.I18nStrutsAdapter
    avec d'autres paramètres tels que basic.msg.empty_list

    Dans mon struts-config.xml, j'utilise deux resources de message :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <message-resources parameter="intitules" key="intitules"/>
    <message-resources parameter="Messages" key="message"/>
    Dans ma jsp, à l'endroit où je déclare ma table j'ai (surtout la 2e ligne avec "numoffre":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <display:table name="listeOffresDisplayTag" class="listeOffres" uid="offres" >
        <display:column property="numoffre" headerClass="listeTitre" titleKey="forms.numero" />
        <display:column property="numclient" headerClass="listeTitre"/>
        <display:column property="nominterlocuteur" headerClass="listeTitre"/>
        <display:column property="titreoffre" headerClass="listeTitre"/>
        <display:column property="datevalidite" decorator="com.demeyere.decorator.ShortDateWrapper" headerClass="listeTitre"/>
        <display:column property="repreyp.eynorpr" headerClass="listeTitre"/>
        <display:column property="assistante" headerClass="listeTitre"/>
    </display:table>
    Enfin, dans mon fichier resource intitules_fr.properties j'ai :
    Le problème est que lorsque j'exécute mon application, l'entête du numéro d'offre est : ???forms.numero??? au lieu de

    Je vous remercie par avance pour toute l'aide que vous pourriez m'apporter.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    Par défaut
    bonjour,
    cela est dû au fait que tu utilises plusieurs fichiers de resources.
    2 solutions s'offrent à toi :
    1) spécifier le bundle(le fichier de resource) dans lequel struts trouvera le message associé à la clé
    il faut inclure ton displaytag dans la balise fmt:bundle....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <fmt:bundle basename="[CHEMIN DE TON BUNDLE].intitules"><displaytag:table...></displaytag:table></fmt:bundle>
    2) faire ce qui est marqué http://java.developpez.com/faq/strut...usieursrbundle

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 47
    Par défaut
    bonjour et merci pour ta réponse mattheox.

    J'ai cependant une question :
    Apparemment, la balise <fmt:bundle> correspond à jstl.
    Je ne connais pas cette api. Est-elle utile avec un tomcat 5.5 et un jdk 1.5.0_13 ?
    Lorsque j'utilise ce tag, après avoir décrit le <@ taglib> qui va bien, j'obtiens toujours le même résultat : ???forms.numero???

    Voici ce que j'ai modifié :
    ajout du taglib à ma jsp.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
    encadrement de mon <display:table> par <fmt:bundle> :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <fmt:bundle basename="intitules">
    <display:table name="listeOffresDisplayTag" class="listeOffres" uid="offres" >
        <display:column property="numoffre" headerClass="listeTitre" titleKey="forms.numero" />
        <display:column property="numclient" headerClass="listeTitre"/>
        <display:column property="nominterlocuteur" headerClass="listeTitre"/>
        <display:column property="titreoffre" headerClass="listeTitre"/>
        <display:column property="datevalidite" decorator="com.demeyere.decorator.ShortDateWrapper" headerClass="listeTitre"/>
        <display:column property="repreyp.eynorpr" headerClass="listeTitre"/>
        <display:column property="assistante" headerClass="listeTitre"/>
    </display:table>
    </fmt:bundle>
    Enfin, j'ai même ajouté jstl-1.1.2.jar dans mon répertoire common/lib de Tomcat.

    Par avance merci.

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 47
    Par défaut
    En complément, j'ai essayé de mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <fmt:message key="forms.numero"/>
    entre les deux balises <fmt:bundle> et cela m'inscrit bien la valeur de la propriété correspondante (ici c'est "N°").
    Je soupçone un mauvais fonctionnement au niveau de displaytag...
    Toute aide est la bienvenue.
    Merci.

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 47
    Par défaut
    C'est bon, j'ai trouvé.

    Il faut indiquer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    resource.provider=org.displaytag.localization.I18nStrutsAdapter
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    locale.provider=org.displaytag.localization.I18nStrutsAdapter
    dans le displaytag.properties

    Merci.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 01/10/2006, 16h55
  2. [STRUTS] problème avec un displaytag
    Par kingjo dans le forum Struts 1
    Réponses: 3
    Dernier message: 09/11/2005, 17h10
  3. [i18n][utf8] Outils pour convertir iso8859-1 en unicode/utf8
    Par co2 dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 07/11/2005, 09h56
  4. [I18N] Conseil pour l'architecture
    Par Alec6 dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 11/10/2005, 23h49
  5. Réponses: 5
    Dernier message: 02/09/2005, 07h46

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