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 form avec plusieurs submit


Sujet :

Struts 1 Java

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 112
    Points : 61
    Points
    61
    Par défaut Struts form avec plusieurs submit
    Salut,
    j ai un formulaire, et 3 boutons submit, en fait ce k je veux c est k, lors du click l URL action du formulaire change selonce choix ...

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     <html:form action="/client/creer/>
     
    ...
     
    <html:submit value="Add" />
    <html:submit value="Modify" />
    <html:submit value="Delete"/>
     
    </html:form>

    pour
    Add -> /client/creer/
    Modify -> /client/modifier/
    Delete -> /client/supprimer/

    les actions se trouvent biensûr dans struts-config.xml

    Merci !!!

  2. #2
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Points : 17 037
    Points
    17 037
    Par défaut
    Essaye plutot de rajouter le code suivant au début de ton action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for (Enumeration reqParams = request.getParameterNames(); reqParams.hasMoreElements();)
    {
       String param = (String) reqParams.nextElement();
       System.out.println("param : " + param + " = " + request.getParameter(param));
    }
    Ca te permettra de mieux voir ce qui se passe et de ce que tu peux en faire de tes submits

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 13
    Points : 14
    Points
    14
    Par défaut
    Salut,
    utilise les org.apache.struts.actions.DispatchAction
    exemple:
    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 class MesActionsDispatchAction extends DispatchAction {
     
        public ActionForward add(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response) {
            //initialisation du redirect
            String redirect="success";       
            //redirection vers le bon forward JSP
            return mapping.findForward(redirect);       
        }
     
        public ActionForward delete(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response) {
            //initialisation du redirect
            String redirect="success";       
            //redirection vers le bon forward JSP
            return mapping.findForward(redirect);       
        }
    }
    avec le code JSP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     <html:form action="/mesActions">
    <html:submit onclick="document.forms[0].method.value='add';" >Ajout</html:submit>
    <html:submit onclick="document.forms[0].method.value='delete';" >Suppression</html:submit>
    </html:form>
    et le paramètre method dans le formBean

    ou org.apache.struts.actions.LookupDispatchAction
    exemple:
    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
     
    public class MesActionsLookupDispatchAction extends LookupDispatchAction {
     
        /**
         * Spécifie les méthode à appeler en fonction du parametre mis dans le submit
         * @param mapping
         * @param form
         * @param request
         * @return , object returned for return or parameter in for param
         */
        protected Map getKeyMethodMap(){
            Map<String,String> map = new HashMap<String,String>();
            map.put("label.button.add", "add");
            map.put("label.button.delete", "delete");
            return map;
        }
     
     
        public ActionForward add(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response) {
            //initialisation du redirect
            String redirect="success";       
            //redirection vers le bon forward JSP
            return mapping.findForward(redirect);       
        }
     
     
        public ActionForward delete(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response) {
            //initialisation du redirect
            String redirect="success";       
            //redirection vers le bon forward JSP
            return mapping.findForward(redirect);       
        }
    }
    N'oublie pas le reste:
    paramètrage struts-config avec le
    parameter="method">
    Le paramètrage du resourceBundle
    et le code JSP

    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <html:form action="/mesActions" >
     
    <html:submit property="method">
    <bean:message key="label.button.add"/>
    </html:submit>
    <html:submit property="method">
    <bean:message key="label.button.delete"/>
    </html:submit>
    </html:form>
    Bonne chance

    Pierre

  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
    Un petit coup d'oeil à la FAQ sur les DispatchAction et LookupDispatchAction ici.

Discussions similaires

  1. VBA Interaction avec IE : Gestion de [Form] avec plusieurs [Submit]
    Par rafiael dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 25/09/2013, 22h04
  2. form avec plusieurs "lien hypertext submits"
    Par jadey dans le forum Struts 1
    Réponses: 9
    Dernier message: 22/01/2010, 17h58
  3. Formulaire avec plusieurs submit !
    Par alfigor dans le forum Langage
    Réponses: 6
    Dernier message: 21/04/2006, 12h09
  4. Formulaire avec plusieurs submit -> Récupération
    Par masseur dans le forum Langage
    Réponses: 14
    Dernier message: 30/03/2006, 08h17
  5. Struts Validation avec plusieurs date pattern, HowTo ?
    Par didleur dans le forum Struts 1
    Réponses: 8
    Dernier message: 08/03/2006, 09h27

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