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 :

SaveErrors & Deprecated


Sujet :

Struts 1 Java

  1. #1
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 23
    Par défaut SaveErrors & Deprecated
    Bonjour à tous,

    Je me trouve dans un cas bien embêtant :
    Je voudrais à partir de mes actions pouvoir gérer certaines erreurs.
    Pour ceci, j'utilise ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ActionErrors errors=new ActionErrors();
    errors.add(ActionMessages.GLOBAL_MESSAGE,newActionMessage("monmessagedefini"));
    saveErrors(request,errors);
    return mapping.findForward(MonEcran);
    Et j'affiche mes erreurs dans les jsp grâce au tag <html:errors/>.
    Mon problème provient du saveErrors, qui est deprecated avec un ActionErrors en second paramètre (version Struts 1.2).
    Il est spécifié qu'il faudrait utiliser un ActionMessages...
    Mais ce que je veux afficher , c'est vraiment les erreurs, et pas des messages, et donc, pas vraiment d'interêt à utiliser ActionMessages...

    Sauriez-vous comment palier à ce souci, qui somme toute, ne doit pas en être vraiment un?
    Merci par avance

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 230
    Par défaut
    Bonjour,

    Afficher une erreur, afficher un message d'erreur, c'est un peu la même chose non ?
    Tu peux aller voir ici : http://java.developpez.com/faq/struts/?page=messages

  3. #3
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 23
    Par défaut
    Vui, sur le principe, c'est un peu la même chose...

    Mais au delà de ça, si je souhaite utiliser le tag <html:errors/> et non <html:messages/>, je suis condamnée à ne pas pouvoir sauvegarder mes erreurs depuis une action?
    J'utilise un ActionErrors depuis mes ActionForm, et je ne voyais simplement pas l'utilité d'ajouter en plus du tag <html:errors/> un autre tag <html:messages/> dans mes jsp (qui correspondrait, l'un au retour de mon ActionForm, et l'autre au retour de mon Action...)

    J'ai l'impression de faire un peu double emploi

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Par défaut
    tu fais :
    code de la classe action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ActionMessages erreurs = new ActionMessages();
    erreurs.add(ActionMessages.GLOBAL_MESSAGES, new ActionMessage("cle.du.message", valeur0, valeur2, valeur3));
    if(!erreurs.isEmpty()){
       saveErrors(request, erreurs);
    }
    code du .properties ou se trouve le mess d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cle.du.message = message valeur0 : {0}, valeur1 : {1}, valeur2 : {2}, fin message d'erreur
    et dans la jsp :
    et il va afficher tes erreurs :
    va voir sur ce site ou ce site, ce sont des exemples faciles...

  5. #5
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 23
    Par défaut
    Merci, au final, j'ai fait autrement, mais ta solution est utile

  6. #6
    Membre confirmé Avatar de badoress
    Inscrit en
    Mars 2007
    Messages
    169
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2007
    Messages : 169
    Par défaut
    comment t'as fait --cycy pourque tout le monde en profitra

  7. #7
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 23
    Par défaut
    Je ne sais pas vraiment si c'est correct ce que j'ai fait, mais j'ai utilisé l'ActionErrors du validate de mes ActionForm, auquel j'ajoute mes erreurs, un peu comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ((NomActionFormCorrespondantAL'Action)form).errors.add(ActionMessages.GLOBAL_MESSAGE,new ActionMessage("error.exception.simple"));
    return mapping.findForward(MaPageAAfficher);
    Je ne sais pas si c'ets une bonne pratique, mais en tout cas, c'est infaillible

  8. #8
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 23
    Par défaut
    Je retire ce que j'ai marqué dans le post précédent, c'est pas bon du tout
    J'ai essayé ta méthode AnneB, et à priori je retrouve bien mon erreur dans ma request, mais rien n'est affiché dans ma jsp, malgré le tag <html:errors/>.
    Saurais-tu comment résoudre le problème d'affichage? Je ne le comprends pas bien, puisque l'erreur est bien en request...


    Merci


    PS : j'utilise une DispatchAction, mais je ne crois pas que ça influe, et c'est une erreur hibernate que je catch et désire remonter

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Par défaut
    essaye de faire ceci :
    remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActionMessages.GLOBAL_MESSAGES
    par la chaine de caractèreset dans la jsp :
    <html:errors property="testPourErreur"/>

    (à la limite, pour tes tests, vire tout le reste de ta page jsp, et n'affiche que ca comme page de réponse à ta requête

  10. #10
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 23
    Par défaut
    Tout marche, merci

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

Discussions similaires

  1. [deprecated][surcharge] je veux enlever l'avertissement
    Par divxdede dans le forum Langage
    Réponses: 6
    Dernier message: 19/07/2004, 09h05

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