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 :

[Struts 1.3] [Validator] traitement par action, conservation du form en erreur


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Par défaut [Struts 1.3] [Validator] traitement par action, conservation du form en erreur
    Bonjour,
    J'utilise les Validator dans Struts 1.3.
    Mon problème est que lorsque la personne se trompe dans un des champs de saisie, j'aimerai retourner au formulaire tel que l'a rempli la personne (normal )
    Je ne peux pas mettre en input de mon action la jsp car celle ci a besoin d'un objet form pour par exemple pré remplir des listes déroulantes etc.
    Je mets donc en input l'action.do qui d'habitude prépare mon formulaire.

    Le problème c'est que validator ne me donne pas en paramètre le form que je lui ai submit. Donc je réaffiche le formulaire dans l'état dans lequel la personnne l'a reçu avant de le modifier. Donc toutes ses modifications ne sont pas pré remplies.
    Y a -t-il un moyen de récupérer ce form qu'on a soumis à vérification ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <action path="/EnregistrerForm"
    			type="EnregistrerFormAction" 
    			name="Form" 
    			scope="request"
    			input="/EditerForm.do" 
    			cancellable="true" 
    			validate="true">
    			<forward name="ok" path="/Resultat.jsp" />

  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
    Il suffit de mettre le scope du form-bean à session plutôt que request.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Par défaut
    Merci !!
    Je ne maitrise pas encore bien Struts (et ses outils mais j'y arriverais !!!)

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Par défaut
    je croyais que ça tournais parfaitement mais apres ajouts d'autre chose en fait ça ne tourne pas. (j'ai révé ou changé quelque chose de fondamental ...)

    théoriquement scope="request" passé en scope="session" permet de transmettre le form vers mon action et ensiute je dois le traiter pour le réinjecter ?
    ou directement fait le travail et me prérempli mon formulaire correctement (ce qui me semble vu les résultats que ça me donnaient).

  5. #5
    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
    A partir du moment où le form-bean est dans le scope session, les données saisies sont conservées sauf si tu as codé une méthode reset() dans l'ActionForm.
    Est-ce le cas ?

    Sinon, peux-tu préciser exactement ce qui ne fonctionne pas bien ?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Par défaut
    je n'ai pas codé de méthode reset()

    Ce qui ne fontionne pas bien c'est qu'il me remet le formulaire dans l'état dans lequel il est lorsque la personne arrive dessus (formulaire qui est pré-rempli par mon action) lorsque on se trompe dans la saisie.
    (le même problème qu'au début en fait)

    Ca a fonctionné avec session mais je ne sais pas pourquoi ça ne fonctionne plus.

    Je fais un traitement dans mon action pour préparer mon formulaire qui repère si l'on part d'un objet connu en base de données (elle utilise un request.getParameter de l'id de l'objet). Si l'objet est connu elle prépare le formulaire avec les données sur l'objet. A mon avis cette même méthode écrase le travail de la session.
    Je ne sais pas comment repérer le cas ou l'on sort de la validation pour éviter l'écrasement des données quand on rehcarge le formulaire.

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

Discussions similaires

  1. [JSP][STRUTS] Passer des objets à une classe action
    Par maphi dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 10/08/2005, 16h55
  2. [STRUTS] Nested tags validation - Client side
    Par SEMPERE Benjamin dans le forum Struts 1
    Réponses: 3
    Dernier message: 18/07/2005, 13h21
  3. [Struts] [JavaBean] Deux beans dans une Action
    Par jak0 dans le forum Struts 1
    Réponses: 2
    Dernier message: 19/05/2005, 16h02
  4. [Struts 1.2] : validation coté serveur
    Par richard_34b dans le forum Struts 1
    Réponses: 3
    Dernier message: 15/09/2004, 15h42
  5. Réponses: 3
    Dernier message: 30/07/2004, 10h51

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