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 :

plus q'un form pour DispatchAction


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 65
    Par défaut plus q'un form pour DispatchAction
    Bonjour,

    pour une DispatchAction, j'ai besoin d'utiliser plus qu'un seul form. Mon probleme c'etait: Comment definir ces form dans le fichier struts-config.xml, plus precisement dans le tag <action>?

  2. #2
    Membre averti
    Femme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 39
    Par défaut
    Tu le definis comme s'il s'agit d'une action :

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <action path="/validation"
    	     type="package.ValiderAction" 
    	      scope="request"
    	      parameter="destination"
    	      name="MyForm">
    	  <forward name="forward1" path="/destination1"/>
              <forward name="forward2" path="/destination2"/>			
    	</action>

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 65
    Par défaut re_explication de probleme
    dans les dispatchAction j'ai plus qu'une methode, c'est comme si j'ai des petites actions dans une meme classe Action. j'ai utilisé deux form différents mais je ne sais plus comment je vais declarer ces forms pour la meme action dans le struts-config.

  4. #4
    Membre averti
    Femme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 39
    Par défaut
    est ce que tu peux mettre le code du DispatchAction qui te pose le problème?

  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
    Il n'est pas possible de définir deux ActionForm pour une même Action.

  6. #6
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 65
    Par défaut
    mais c'est un dispatchAction, en fait mon code est celui la:

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
    public class ModificationAction extends DispatchAction{
    	/**
             * afficher la page de creation/modification de contact selon la valeur de idContactAff
              */
    	public ActionForward afficher(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception  {
     
    		AfficherContactForm acf = (AfficherContactForm)form;
    		ContactForm cf = new ContactForm ();
     
    		// tester la valeur de idContactAff pour differencier la creation et la modification de contact
    		if (acf.getIdContactAff () != 0){// afficher le formulaire de modification de contact			
     
    			Contact contact = ContactDAO.loadSingleContact (acf.getIdContactAff ());
    			cf.loadWithContact (contact);				
    			request.setAttribute ("contactForm", cf);
     
    		} else {// afficher le formulaire de creation de contact
     
    			//	alimentation du bean depuis la bdd
    			List<Category> allCategories = CategoryDAO.loadAllCategories();
    			request.getSession().setAttribute("categories", allCategories);
    			//remplir les attributs actif et npai de contactForm
    			ContactForm cfn = new ContactForm();
    			cfn.setActif ("actif");
    			cfn.setNpai ("npai");
    			request.setAttribute ("contactForm", cfn);
     
    		}
    		return mapping.findForward ("creation");
    	}
     
    	/**
             * Valider la creation/modification de contact selon la valeur de idContact
             */
    	public ActionForward valider(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception  {
     
    			ContactForm cf = (ContactForm)form;
    			int idContact = 0; 
    			//récupérer le contact a créer depuis le formulaire
    			Contact contact = cf.getContact ();
    			if(cf.getIdContact () == 0){// il s'agit d'une creation de contact
     
    				ContactDAO.updateContact (contact);
    				//recuperer l'idContact de contact inséré dans la bdd
    				idContact = ContactDAO.loadLastIndexInserted ();
     
    			}else{// il s'agit d'une modification de contact
     
    				contact.setId (cf.getIdContact ());
    				ContactDAO.modifyContact (contact);
    				idContact = cf.getIdContact ();
     
    			}
    			//associer l'idContact au formulaire d'affichage de contact
    			AfficherContactForm acf = new AfficherContactForm();
    			acf.setIdContactAff (idContact);
    			request.setAttribute ("afficherContactForm", acf);
     
     
    		return mapping.findForward ("affichage");
    	}
     
    	public ActionForward unspecified(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
    	  return afficher(mapping, form, request, response);
    	 }
     
    }

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

Discussions similaires

  1. [VBA-E]Archiver une mise en forme pour la reproduire plus tard
    Par tazamorte dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 31/01/2007, 11h12
  2. Réponses: 1
    Dernier message: 09/02/2006, 22h35
  3. Forms pour Oracle 10g Release 2
    Par cpointet dans le forum Forms
    Réponses: 1
    Dernier message: 11/10/2005, 07h25
  4. [D7] composants plus rapides que dbExpress pour Oracle 8i
    Par Magnus dans le forum Bases de données
    Réponses: 2
    Dernier message: 10/10/2005, 12h06
  5. Réponses: 7
    Dernier message: 10/02/2005, 13h44

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