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 :

ResourceBundle ou MessageResource ?


Sujet :

Struts 1 Java

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Points : 239
    Points
    239
    Par défaut ResourceBundle ou MessageResource ?
    Bonjour,

    J'ai besoin, depuis mon action Struts, d'accéder à des messages contenus dans un de mes fichiers de resources.

    J'ai deux solutions qui s'offrent à moi :
    utiliser un ResourceBundle (de la lib de J2SE : java.util.ResourceBundle ), ou bien un MessageResource (de la lib Struts : org.apache.struts.util.MessageResource)

    J'ai un code qui marche avec le resourceBundle, mais je sais comment faire la même chose avec le MessagesResource.

    Dans les deux cas au niveau code, ca représente 2 lignes.

    Ma question est plus de savoir lequel des deux il est préférable d'utiliser :
    - quelle sont les différences entre les deux en terme de performances à l'exécution, ...

    Merci d'avance

  2. #2
    Expert éminent

    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
    Points : 7 778
    Points
    7 778
    Par défaut
    Citation Envoyé par AnneB Voir le message
    J'ai un code qui marche avec le resourceBundle, mais je sais comment faire la même chose avec le MessagesResource.
    Comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MessageResources messageResources = this.getResources(request) ;
    Citation Envoyé par AnneB Voir le message
    Ma question est plus de savoir lequel des deux il est préférable d'utiliser :
    - quelle sont les différences entre les deux en terme de performances à l'exécution, ...
    Aucune idée.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Points : 239
    Points
    239
    Par défaut
    Lorsque l'on utilise plusieurs fichiers de resources, si jamais on a besoin d'accéder, depuis l'action à des messages dans les deux fichiers de resources :

    - il faut créer un ResourceBundle par fichier de resource à consulter ou
    - il faut créer un seul messageResource à partir de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MessageResources messageResources=this.getResources(request) ;
    String libelle = messageResources.getMessage("cleDuMessage") ;

    Je me trompe?

  4. #4
    Expert éminent

    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
    Points : 7 778
    Points
    7 778
    Par défaut
    Via ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MessageResources messageResources=this.getResources(request) ;
    tu accèdes au fichier des messages par défaut (celui pour lequel tu n'as pas précisé d'attribut key dans la balise message-resources du struts-config.xml).

    Sinon, pour récupérer un fichier pour lequel tu as mis un attribut key :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MessageResources messageResources2=this.getResources(request,"valeurDeLattributKey") ;

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Points : 239
    Points
    239
    Par défaut
    En effet je viens de tester, et ca ne prend en compte que le message resource par défaut (celui dont key vaut "org.apache.struts.action.MESSAGE")

    Enfin, je vais faire en créant deux MessageResources.... ca ira mieux...

    Merci pour ton aide c_nvy

    par contre toujours personnes ne peux me dire la différence entre MessageResource et ResourceBundle????

  6. #6
    Expert éminent

    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
    Points : 7 778
    Points
    7 778
    Par défaut
    Personnellement, je trouve plus propre d'utiliser MessageResources car quand tu utilises la méthode getBundle de ResourceBundle, tu es obligé de coder en dur le nom du fichier.

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Points : 239
    Points
    239
    Par défaut
    Je suis ok avec toi, mais cela quand tu n'utilises qu'un seul fichier de resource, parce que dès que tu en utilise plus d'un, de toutes façon tu va être obligée de coder en dur un nom de fichier properties....

    Bref, de toutes façons j'ai fait ca différemment :
    J'ai utilisé le pattern singleton, une classe statique, et une liste d'objets contenant un bundle et un nom de fichier. Et une méthode par properties à créer.... Vu que pour le moment on est déjà à 5 fichier properties différents à utiliser, et que ca risque encore de croître....


    Voilà!!

  8. #8
    Expert éminent

    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
    Points : 7 778
    Points
    7 778
    Par défaut
    Citation Envoyé par AnneB Voir le message
    Je suis ok avec toi, mais cela quand tu n'utilises qu'un seul fichier de resource, parce que dès que tu en utilise plus d'un, de toutes façon tu va être obligée de coder en dur un nom de fichier properties....
    Non, dans le cas du MessageResources, seulement une clé.

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Points : 239
    Points
    239
    Par défaut
    Oui, c'est vrai, c'est la clé que tu définis dans la balise <message resources> du struts-config....
    En effet c'est tout de même un peu plus propre....


  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 15
    Points : 18
    Points
    18
    Par défaut
    Il y a une différence importante quand même, avec MessageResources tu peux mettre des arguments à ton message en plus de la clé.

    Par exemple dans ton fichier properties tu as :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    welcome = Bonjour Mr. {0} {1}
    avec un MessageResources tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String value = messageResources.getMessage("welcome", "toto", "titi");
    et tu a dans ta value : Bonjour Mr. toto titi
    Ce que tu ne peux faire avec un resourceBundle

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

Discussions similaires

  1. [ResourceBundle] pb ResourceBundle dans un war
    Par dauggui dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 25/04/2006, 21h20
  2. struts[ResourceBundle]
    Par rajawi dans le forum Struts 1
    Réponses: 12
    Dernier message: 30/09/2005, 22h06
  3. [ResourceBundle] Caractères spéciaux
    Par phil_ma dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 07/08/2005, 23h08
  4. [struts] [debutant] 1.0 vers 1.1 pour MessageResources
    Par sleepy2002 dans le forum Struts 1
    Réponses: 2
    Dernier message: 19/10/2004, 05h44
  5. [WSAD] ResourceBundle et MissingResourceException
    Par petitelulu dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 23/09/2004, 12h37

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