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

Servlets/JSP Java Discussion :

[JSP] [STRUTS] Contrôle de formulaire


Sujet :

Servlets/JSP Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    juillet 2003
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2003
    Messages : 214
    Points : 84
    Points
    84
    Par défaut [JSP] [STRUTS] Contrôle de formulaire
    Bonjour

    J'ai
    - un formulaire de création : new.jsp
    - une action : NewAction.java qui dérive de DispatchAction et qui prend comme parametre act :
    --- act = aff : affichage du formulaire qui contient (en + des champs textes a remplir) des listes remplies par <html:optionsCollection...>
    --- act=crea : post du formulaire --> creation de l'objet et insertion dans la BD
    - un seul ActionForm : NewForm.java

    Mon pb est le suivant : lorsque je poste le formulaire, s'il y a des erreurs, la methode validate est appelée normalement, les message d'erreur apparait sur ma jsp, mais les champs préalablement saisis sont effacés : le formulaire est réinitialisé, mais je ne veux pas que cette réinitialisation se fasse !

    J'ai bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <action name="newForm" path="/new" type="NewDAction" scope="session" parameter="act" validate="false" input=".AffNew">
    où .AffNew est un tile qui affiche la jsp new.jsp (c'est cette jsp qui est réinitialisée )

    dans web.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <init-param>
         <param-name>validate</param-name>
         <param-value>false</param-value>
    </init-param>
    De plus, si j'essaie de mettre mon form de new.jsp en session, cad mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:form name="crea" action="new.do" method="post" scope="session">
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name="crea_dem" action="newdem.do" method="post">
    je crois qu'il aime pas trop "html:", j'ai l'erreur suivante


    [ServletException in:new.jsp] Must specify type attribute if name is specified' javax.servlet.ServletException: Must specify type attribute if name is specified at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:533) at .......


    Qqun peut m'aider ?
    Merci

  2. #2
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : mars 2003
    Messages : 579
    Points : 1 386
    Points
    1 386
    Par défaut Re: [JSP] [STRUTS] Contrôle de formulaire
    Citation Envoyé par babylone7
    Mon pb est le suivant : lorsque je poste le formulaire, s'il y a des erreurs, la methode validate est appelée normalement, les message d'erreur apparait sur ma jsp, mais les champs préalablement saisis sont effacés : le formulaire est réinitialisé, mais je ne veux pas que cette réinitialisation se fasse !
    Tu as implémenté la méthode validate () ?


    Citation Envoyé par babylone7
    J'ai bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <action name="newForm" path="/new" type="NewDAction" scope="session" parameter="act" validate="false" input=".AffNew">
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:form name="crea" action="new.do" method="post" scope="session">
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name="crea_dem" action="newdem.do" method="post">
    name ds le tag html:form est le nom du formulaire tel qu'il est déclaré dans struts-config.xml



    [ServletException in:new.jsp] Must specify type attribute if name is specified' javax.servlet.ServletException: Must specify type attribute if name is specified at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:533) at .......


    la je crois que tu doit avoir un iterate qqpart, fais voir le code complet.

    Qqun peut m'aider ?
    ...

    @+

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    juillet 2003
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2003
    Messages : 214
    Points : 84
    Points
    84
    Par défaut
    voila ma methode validate() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    public ActionErrors validate(ActionMapping mapping,HttpServletRequest request) {
        ActionErrors errors = new ActionErrors();
        try {
            if ((nom == null)
               || (nom.length() == 0)
               || (date == null)
               || (date.length() == 0)) {	
                      errors.add("champ vide", new ActionError("field.required"));
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        finally {
            return errors;
        }
    }

    name ds le tag html:form est le nom du formulaire tel qu'il est déclaré dans struts-config.xml
    dans la balise <form-bean ...> ????? :


    la je crois que tu doit avoir un iterate qqpart, fais voir le code complet.
    le code de la jsp ?..

    Merci[/code]

  4. #4
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : mars 2003
    Messages : 579
    Points : 1 386
    Points
    1 386
    Par défaut
    oui ds la balise form-bean ou dans la balise action name="lenom"...

    Ds le scope, l'objet aura ce nom.

    Poste le code de la JSP, ou envois moi tout par mail (Free pas VSC, ca marche pas.).

    @+

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    juillet 2003
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2003
    Messages : 214
    Points : 84
    Points
    84
    Par défaut
    posté sur Free

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    juillet 2003
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2003
    Messages : 214
    Points : 84
    Points
    84
    Par défaut
    Mon probleme venait du fait que j'avais créé un formulaire html, et non <html: .... > !!!

    <html:text name="" property="">
    avec
    name : nom du bean de Form
    property : nom du champ dans le bean

    suis bête

    Merci RanDomX (com d'hab!)

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 16/05/2006, 18h47
  2. [struts] Destruction bean formulaire de session
    Par k4eve dans le forum Struts 1
    Réponses: 4
    Dernier message: 06/05/2004, 18h34
  3. [ JSP ][ Struts ] Déplacer la sécurité dans WEB-INF ?
    Par cowa dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 23/03/2004, 19h42
  4. [Struts]Validation de formulaire
    Par djoukit dans le forum Struts 1
    Réponses: 4
    Dernier message: 12/03/2004, 10h12
  5. [Struts] Problème de formulaire(s) ...
    Par djoukit dans le forum Struts 1
    Réponses: 8
    Dernier message: 11/03/2004, 00h48

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