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 confirmé
    Inscrit en
    Octobre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 112
    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 : 52
    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
    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
    Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
    Gardons toujours à l'esprit que le forum constitue une base documentaire, dont l'utilité et la qualité dépendent du soin apporté à nos questions et nos réponses. Soyons polis, précis (dans le titre et dans le corps des questions), concis, constructifs et faisons de notre mieux pour respecter la langue française et sa grammaire. Merci pour nous (les modérateurs) mais aussi et surtout, merci pour vous.
    Problème solutionné => je vais au bas de la page et je clique sur le bouton (qui suite à mise à jour du forum, a légèrement changé d'aspect).

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

    Informations forums :
    Inscription : Mai 2003
    Messages : 13
    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 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
    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