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 :

[ActionMessages] Comportement bizarre


Sujet :

Struts 1 Java

  1. #1
    Membre expérimenté Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Par défaut [ActionMessages] Comportement bizarre
    Bonjour.
    J'ai un comportement bizarre de ActionMessages.
    J'utilise les ActionMessages(+ActionMessage) pour signaler les erreurs de l'application et de validation.

    Dans le cadre d'un CRUD gerer par une classe LookupDispatchAction
    j'ai une erreur de construction de jsp (impliquant l'affichage des messages)
    que je n'ai pas quand j'utilise une classe Action classique.

    voici ma jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <logic:messagesPresent message="true">
    	<br/>
    	<table style="width:95%;">
    		<html:messages id="msg" message="true"><tr><td style="text-align:center;"><bean:write name="msg"/></td></tr></html:messages>
    	</table>
    </logic:messagesPresent>
    Qui fonctionne très bien dans le cadre de mon Action classique (login par exemple)
    Qui ne fonctionne plus dans mon LookupDispatchAction.
    Dans les cas voici comment j'utilise les messages :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    .... {
        ActionMessages errors = new ActionMessages();
    ...
        errors.add("msg",new ActionMessage("error.a01t"));
    ...
        this.saveMessages(request,errors);
    ...
     
    }
    Les logs de Tomcat me disent en résumé pour le LookupDispatchAction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    javax.servlet.jsp.JspException: ServletException in '/WEB-INF/atom/main-file-list.jsp': Cannot find bean msg in any scope
    Avez-vous une idée ?

    PPDL

  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
    Salut petitpasdelune

    Je ne vois rien d'anormal dans ton code. Ca devrait fonctionner.

    Es-tu sûr que la condition que tu as codé pour la création de l'ActionMessages est bien vérifiée ?

    Concrètement, est-ce qu'il passe bien dans ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    .... {
        ActionMessages errors = new ActionMessages();
    ...
        errors.add("msg",new ActionMessage("error.a01t"));
    ...
        this.saveMessages(request,errors);
    ...
     
    }
    Peux-tu montrer ton instruction if stp ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 9
    Par défaut
    As tu ton fichier de ressources au bon endroit :
    WEB-INF/classes (par defaut)

    et as tu la cle inscrit dedans :
    error.a01t=Truc a afficher

  4. #4
    Membre expérimenté Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Par défaut
    Es-tu sûr que la condition que tu as codé pour la création de l'ActionMessages est bien vérifiée ?
    Oui, j'ai testé en le mettant en condition normale, au début juste après la création du ActionMessages (et vérifier qu'il soit bien créer) et à la fin avant la l'enregistrement de l'ActionMessages et le renvoie de l'ActionForward.

    As tu ton fichier de ressources au bon endroit :
    WEB-INF/classes (par defaut)
    J'ai cru ça aussi au début mais non, c'est bon et la classe a la bonne version.
    et as tu la cle inscrit dedans :
    error.a01t=Truc a afficher
    Oui, j'ai même tester avec un message dynamique (error.dynamic={0} )

    C'est d'autant plus incompréhensible que cela fonctionne avec un
    autre couple Action/JSP.

    Je vais regarder si ce n'est pas du coté des filtres que cela se passe.

    PPDL

  5. #5
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 9
    Par défaut
    J'ai lu comme quoi certains messages ne passe pas si l'action est "redirect" (la j'ai plus le terme en tête)

    Je n'ai pas pu le verifier donc c'est à prendre avec des pincettes.
    Je vois rien d'autre a priori.

  6. #6
    Membre expérimenté Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Par défaut
    Merci Osnium, je vais voir cette piste.

    En fait la seule différence c'est qu'à la fin
    de mon action si tout se passe bien, j'appelle
    directement une autre action mappée dans mon objet
    LookupDispatchAction (en fait je rapelle la méthode mappée qui permet de lister tous mes objets).

    Peux-tu me donner un lien vers ce post si cela est possible stp?

    Merci.

    PPDL

    [EDIT]
    Ouhlala !!! Peu clair mon post, celà m'apprendra à ne pas travailler le dimanche....
    [EDIT]

  7. #7
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 9
    Par défaut
    le voila, mais je ne peux pas confirmer, j'ai pas testé.

    http://developpez.net/forums/showthread.php?t=140986

  8. #8
    Membre chevronné


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 855
    Par défaut
    Bonsoir,

    redirect="true" réinitialise effectivement la request.

  9. #9
    Membre expérimenté Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Par défaut
    redirect="true" réinitialise effectivement la request.
    Après essai, celà ne vient pas du redirect

    <html:messages id="msg" property="msgAjoutOk" message="true">
    <bean:write name="msg"/>
    </html:messages>
    Ce n'est pas non plus un problème de property car tous les messages
    sont associés à la propriété msg

    Je continue de chercher...

    PPDL.

  10. #10
    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
    As-tu testé en sauvegardant les messages dans la session plutôt que dans la request ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.saveMessages(session,errors);

  11. #11
    Membre expérimenté Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Par défaut
    non, mais je vais le faire derechef !

    Merci c_nvy

    PPDL

  12. #12
    Membre expérimenté Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Par défaut
    Argh!!! Toujours le meme probleme !!!!
    La jsp ne s'affiche pas au dela le bloc tiles qui contient le message....
    :'(
    J'abandonne. Je vais prendre un autre chemin....

    Merci pour votre aide.

    PPDL.

  13. #13
    Membre expérimenté Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Par défaut
    J'ai trouvé, en fin il me semble !!!

    Quand j'ai fini mon action du LookupDispatchAction sans encombre, j'appelle
    une autre action de cette classe LookupDispatchAction.
    Or dans cette nouvelle action je re-instancie un ActionMessages et je re-exécute un
    this.saveMessages(...,...);
    ce qui doit
    effacer les messages précédents => tester si il existe déjà un ActionMessages

    Je le teste immédiatement. Si c'est ok je met un sac de papier marron sur ma
    tête jusqu'a la fin de la journée...


    PPDL.

  14. #14
    Membre expérimenté Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Par défaut
    Ben non.
    Je supprime mes LookupDispatchAction par des Actions simples.
    De toute façon j'ai une couche métier et une couche d'accès aux données
    bien séparées.

    Ca marche quand je passe de LookupDispatchAction aux Actions
    sans modifier les balises relatives aux messages dans JSP

    Plus qu'a changer les 15 autres

    Merci pour votre aide.

    PPDL

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

Discussions similaires

  1. Comportement bizarre de mes FPS
    Par Ekinoks dans le forum OpenGL
    Réponses: 7
    Dernier message: 22/08/2005, 15h14
  2. xsl:test .... avec comportement bizarre
    Par Blue LC dans le forum XMLRAD
    Réponses: 2
    Dernier message: 10/06/2005, 13h56
  3. [ACESS][MEMO][ISNULL]Comportement bizarre
    Par seb.49 dans le forum ASP
    Réponses: 2
    Dernier message: 09/06/2004, 10h44
  4. [HttpClient] comportement bizarre, saute des catch()...
    Par iubito dans le forum Développement Web en Java
    Réponses: 4
    Dernier message: 04/02/2004, 15h25
  5. [Sybase] Comportement bizarre d'une table
    Par sdozias dans le forum Sybase
    Réponses: 4
    Dernier message: 03/02/2004, 10h39

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