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 avec Struts


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 34
    Par défaut ResourceBundle avec Struts
    Bonjour,

    Je travaille avec Struts pour la première fois et je suis débutant.
    J'ai fait un petit programme qui permet de valider des données entrées sur un formulaire, qui fonctionne bien et j'ai créé un fichier properties qui contient des messages d'erreurs.
    A présent, j'aimerais afficher les messages sur une page JSP moi-même.

    Voilà ce que j'ai fait dans la JSP mais rien ne s'affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <html:messages id="idMessage" property="title"  >
       <bean:write name="idMessage" />
    </html:messages>
    dans l'actionform =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ActionErrors errors = new ActionErrors();
    errors.add("title", new ActionMessage("error.s titleField.range"));
    return errors;
    dans le toto.properties =>
    ........
    error.titleField.required=<li>no title</li>
    ..........
    Normalement ça devrait afficher le message "no title".

    Quelqu'un saurait-il m'indiquer comment résoudre ce problème ?

    Merci d'avance pour votre aide

  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
    Où as-tu mis le fichier properties et comment l'as-tu déclaré dans le struts-config.xml ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 94
    Par défaut
    essaye de remplacer ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <html:messages id="idMessage" property="title"  >
       <bean:write name="idMessage" />
    </html:messages>
    par ça


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <html:bean key="error.titleField.required" />

  4. #4
    Membre averti
    Inscrit en
    Février 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 34
    Par défaut ResourceBundle avec Struts
    Merci hamza_bba.
    Par contre, je n'ai pas trouvé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:bean key="error.titleField.required" />
    j'ai essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <bean:message  key="error.titleField.required" />
    merci c_nvy

    Chemin fichier properties => league\WebContent\WEB-INF\classes\toto.properties (league et le nom de mon petit programme)
    Déclaration struts-config.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <message-resources parameter="toto" key="toto" />
    Voilà le contenu de mon toto.properties
    error.yearField.required=<li>no year</li>
    error.yearField.range=<li>year no valide</li>
    error.seasonField.range=<li>no season</li>
    error.titleField.required=<li>no title</li>
    Là j'aimerais afficher "no title"

    Ce que je veux c'est afficher dans une page JSP, le contenu des message d'erreur qui se trouve dans toto.properties. Dans cet exemple je n'ai pris qu'un seul element title

    Merci d'avance.

  5. #5
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 94
    Par défaut
    Désolé je me suis trompé dans la balise, t'as raison la balise correcte est <bean:message key=""/>.

    En fait pour afficher tous les messages d'erreur qui t'empêche de fait ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <bean:message key="error.yearField.required"/>
    <bean:message key="error.yearField.range"/>
    ....
    Cependant je voyer pas l'intérêt de lister les erreurs comme ça, car concrètement les erreurs ce trouve généralement dans l'objet ErrorsAction .

  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
    Le fichier properties est au bon endroit et la déclaration dans le struts-config.xml est bonne.

    Normalement, pour afficher les erreurs de validation dans la jsp, il suffit d'utiliser le tag <html:errors/>.

    As-tu bien mis validate="true" dans le mapping de l'Action ?

    Sinon, je vois que tu as modifié le code de la méthode validate.
    Attention à mettre le bon nom de clé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ActionErrors errors = new ActionErrors();
    errors.add("title", new ActionMessage("error.titleField.required"));
    return errors;

  7. #7
    Membre averti
    Inscrit en
    Février 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 34
    Par défaut
    oui je suis d'accord avec mais
    j'ai besion d'afficher le message "no title" a la page jsp
    pour cela
    j'ai bien taper
    <bean:message key="error.titleField.required"/>
    mais je vois le message
    Cannot find message resources under key org.apache.struts.action.MESSAGE
    possible que j'ai un probleme de lib
    voila les lib que j'ai coller
    commons-logging ,antlr,commons-beanutils,commons-digester,commons-fileupload-1.0,commons-logging,commons-validator,jakarta-oro,struts
    +++
    et j'ai bien mis
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>

Discussions similaires

  1. [STRUTS][AJAX]Quel framework AJAX avec Struts
    Par woodwai dans le forum Struts 1
    Réponses: 24
    Dernier message: 12/03/2009, 16h19
  2. Comment utiliser plusieurs ResourceBundle avec struts-menu ?
    Par m.ben.hamida dans le forum Struts 1
    Réponses: 5
    Dernier message: 18/02/2008, 12h14
  3. [Struts] Problème avec struts-config.xml
    Par The_freeman dans le forum Struts 1
    Réponses: 6
    Dernier message: 29/01/2006, 22h55
  4. Attribut "readonly" d'un INPUT avec Struts
    Par leywos dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 14/10/2005, 16h20
  5. Réponses: 2
    Dernier message: 20/08/2005, 19h23

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