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

  1. #21
    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 code complet de l'ActionForm MonForm ?

  2. #22
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Points : 10
    Points
    10
    Par défaut
    Struts config

    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
    18
    19
    20
     
     
    		<form-bean name="MonForm"
    			type="monChemin.MonForm" >
    		</form-bean>
     
                    <action path="/EditerForm"
    			type="MonChemin.EditerFormAction">
    			<forward name="ok" path="/CreerForm.jsp" />
    		</action>
     
    		<action path="/EnregistrerForm"
    			type="monChemin.EnregistrerFormAction"
    			name="MonForm" 
    			scope="session"
    			input="/EditerForm.do" 
    			cancellable="true" 
    			validate="true">
    			<forward name="ok" path="/Autre.jsp" />
    		</action>
    mes actions : editer

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    public class EditerFormAction extends Action
    {
     
    	public EditerFormAction()
    	{
    	}
     
    	public ActionForward execute(ActionMapping mapping, ActionForm form,
    			HttpServletRequest request, HttpServletResponse response)
    			throws Exception
    			{
     
    		// [...] Traitement pour remplir : 
     
     
    		request.setAttribute("tabDautreChose", autreChose.findAll());
     
     
    		int id = 0;
    		try
    		{
    			id = new Integer(request.getParameter("id"));
     
    		} catch (NumberFormatException ex)
    		{
    			id = 0;
    		}
     
    		MonForm form = new MonForm ();
     
    		if (id != 0)// si on est en modif
    		{
     
    			//form.set ici pour remplir le form si on est en modif
     
    		}
     
    		request.setAttribute("MonForm", form );
     
    		String result = "ok";
    		return mapping.findForward(result);	
     
    			}
     
    }
    action : enregistrer

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
     
    public class EnregistrerFormAction extends Action
    {
     
    	public EnregistrerFormAction()
    	{
    	}
     
    	public ActionForward execute(ActionMapping mapping, ActionForm form,
    			HttpServletRequest request, HttpServletResponse response)
    			throws Exception
    			{
     
    		MonForm form = (MonForm ) form;
     
     
    		Integer idForm = form.getId();
    		if ( idForm > 0) // Modification
    			//traitement de la modif (on recupere l'objet en base pour le modifier)
     
     
    		else // Création
    			//traitement de la creation (on cree l'objet)
     
    //Ensuite on modifie et enregistre l'objet		
     
    		AfficherFormAction afficherform = new AfficherFormAction();
    		afficherform .execute(mapping, form, request, response);				
     
    		String result = "ok";
    		return mapping.findForward(result);	
     
    			}
     
    }

  3. #23
    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
    C'était le code de MonForm que je demandais.

    Enfin, en tout cas, il faut enlever ces deux lignes de l'Action EditerFormAction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	MonForm form = new MonForm ();
     
    	request.setAttribute("MonForm", form );
    et coder plutôt ceci pour récupérer l'ActionForm :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonForm form = (MonForm ) form;
    Pour que cela fonctionne, il faut bien sûr ajouter la référence au form-bean MonForm dans le mapping de cette Action :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
                    <action path="/EditerForm"
    			type="MonChemin.EditerFormAction"
    			name="MonForm" 
    			scope="session"
    			validate="false">
    			<forward name="ok" path="/CreerForm.jsp" />
    		</action>
    et dans la deuxième action, rediriger vers la jsp plutôt que vers l'Action en cas d'erreur de validation :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    		<action path="/EnregistrerForm"
    			type="monChemin.EnregistrerFormAction"
    			name="MonForm" 
    			scope="session"
    			input="/CreerForm.jsp" 
    			cancellable="true" 
    			validate="true">
    			<forward name="ok" path="/Autre.jsp" />
    		</action>

  4. #24
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Points : 10
    Points
    10
    Par défaut
    ça marche effectivement beaucoups mieux de cette façon
    ou presque : tu as indiqué
    or si je pointe vers ceci plutot que vers mon
    La page plante et me dit qu'elle ne connait pas les éléments de mon pré remplissage (car l'action qui initialise les listes etc. ne s'est pas déroulé)


    Avec mon EditerForm.do
    la création est parfaite la session ne revient pas intempestivement quand je veux faire une autre création, mais j'ai un autre problème : quand je veux modifier une entrée : je n'ai plus le préchargement des valeurs de l'entrée : cela fait comme pour une création

  5. #25
    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 comment tu fais ce pré-remplissage ainsi que le code de la jsp ?

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Points : 10
    Points
    10
    Par défaut
    pardon pardon j'espere que tu n'a pas encore lu le message d'avant j'avais pas vu j'ai écrasé le MonForm form = (MonForm ) form; apres l'avoir initilisé

    je continue a tester mais ça m'a l'air tres bon !!!

  7. #27
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Points : 10
    Points
    10
    Par défaut
    ah bah si tu l'avais lu !!!


    je teste

  8. #28
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Points : 10
    Points
    10
    Par défaut
    C'est ok.

    J'essaie de l'adapter a tous mes formulaires !


    En tous les cas !!! un grand merci !!!!

  9. #29
    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.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

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, 17h55
  2. [STRUTS] Nested tags validation - Client side
    Par SEMPERE Benjamin dans le forum Struts 1
    Réponses: 3
    Dernier message: 18/07/2005, 14h21
  3. [Struts] [JavaBean] Deux beans dans une Action
    Par jak0 dans le forum Struts 1
    Réponses: 2
    Dernier message: 19/05/2005, 17h02
  4. [Struts 1.2] : validation coté serveur
    Par richard_34b dans le forum Struts 1
    Réponses: 3
    Dernier message: 15/09/2004, 16h42
  5. Réponses: 3
    Dernier message: 30/07/2004, 11h51

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