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 :

[1.2.9] problème avec [ActionErrors].add()


Sujet :

Struts 1 Java

  1. #1
    Membre habitué Avatar de H-bil
    Inscrit en
    Février 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 337
    Points : 151
    Points
    151
    Par défaut [1.2.9] problème avec [ActionErrors].add()
    salut
    dans le méthode validate() une fois j'utilise la methode add d'un objet ActionErrors
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ActionErrors erreurs = new ActionErrors();
    ActionMessage mess=new ActionMessage("formulaire.nom.vide");
    erreurs.add("nomvide", mess); // problème
    j'ai une erreur

    type Rapport d'exception
    message
    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
    exception
    javax.servlet.ServletException:

    The server side component of the HTTP Monitor has detected a java.lang.StackOverflowError.
    This happens when there is an infinite loop in the web module.
    Correct the cause of the infinite loop before running the web module again.


    org.netbeans.modules.web.monitor.server.MonitorFilter.rethrow(MonitorFilter.java:1645)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:470)
    org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
    org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263)
    org.apache.struts.action.RequestProcessor.internalModuleRelativeForward(RequestProcessor.java:1023)
    org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForward(TilesRequestProcessor.java:345)
    org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:988)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:207)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    ..........
    merci pour votre aide
    Ubuntu 8.04 LTS Hardy

  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
    Peux-tu montrer le mapping de l'Action défini dans le struts-config.xml pour voir ce que tu as codé dans l'attribut input ?
    A mon avis, tu y as mis le path de cette même Action, ce qui expliquerait le problème de boucle à l'infini évoqué dans le message d'erreur.
    Modératrice Java - Struts, Servlets/JSP, ...

  3. #3
    Membre habitué Avatar de H-bil
    Inscrit en
    Février 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 337
    Points : 151
    Points
    151
    Par défaut
    Citation Envoyé par c_nvy Voir le message
    Peux-tu montrer le mapping de l'Action défini dans le struts-config.xml pour voir ce que tu as codé dans l'attribut input ?
    A mon avis, tu y as mis le path de cette même Action, ce qui expliquerait le problème de boucle à l'infini évoqué dans le message d'erreur.
    merci
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    <action name="formPersonne" path="/form" parameter="/formulaire.jsp" type="org.apache.struts.actions.ForwardAction" validate="true" scope="session" input="/form.do"/>
    quand je modifie l'attribut input : input="/erreur.jsp", et on demandant la page : /form.do il affiche directement la page erreur.jsp

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public class FormBean extends ActionForm {
        private String nom;
    //...
    }

    si je met par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private String nom = "test";
    je n'ai pas ce problème

    en fin comment je peux afficher les erreurs dans la même page que le formulaire
    Ubuntu 8.04 LTS Hardy

  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
    Il ne faut pas mettre input="/form.do" mais bien input="/erreur.jsp" sinon tu exécutes à l'infini la méthode validate().

    Quand tu fais appel à la page form.do directement dans l'url, comme le validate est à true, il rentre dans la méthode validate avant même d'afficher la jsp et comme les données du formulaire n'ont pas encore été saisies, tu as donc des erreurs de validation et il t'oriente vers la page d'erreur.

    Donc, pour le premier appel à la page, il ne faut pas demander la page form.do mais plutôt appeler la jsp formulaire.jsp.
    Ou alors, il faut appeler form.do via un lien parce que lorsqu'on exécute une Action en cliquant sur un lien, le formulaire n'est pas soumis et donc, il ne rentre pas dans la méthode validate.

    Edit : si tu veux vraiment faire appel à la page via un .do et non via un .jsp et ce sans avoir à coder un lien, il faut définir une nouvelle Action qui fera juste un forward vers la jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <action path="/afficherFormulaire" forward="/formulaire.jsp"/>
    et appeler la page via l'url http::/localhost:8080/ContexteAppli/afficherFormulaire.do.
    Modératrice Java - Struts, Servlets/JSP, ...

  5. #5
    Membre habitué Avatar de H-bil
    Inscrit en
    Février 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 337
    Points : 151
    Points
    151
    Par défaut
    Merci beaucoup pour les explications
    Ubuntu 8.04 LTS Hardy

  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
    De rien.
    Modératrice Java - Struts, Servlets/JSP, ...

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 30/05/2012, 07h19
  2. [OL-2007] Problème avec un Add-in Outlook
    Par seb49 dans le forum Outlook
    Réponses: 0
    Dernier message: 24/08/2009, 18h26
  3. Réponses: 0
    Dernier message: 04/08/2009, 11h30
  4. Problème avec Eclipse : add jars
    Par Faiche dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 07/01/2008, 15h42
  5. [VBA-E] Problème avec un com add in
    Par boosty dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 15/05/2006, 14h24

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