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] récupération des valeurs de checkbox dynamiques


Sujet :

Struts 1 Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 57
    Points : 8
    Points
    8
    Par défaut [Struts] récupération des valeurs de checkbox dynamiques
    Ca avance ca avance J'ai trouvé comment récupérer les valeurs de mes checkbox. Il fallait à l'instanciation de la String [] dans le Form, indiquer dynamiquement la taille du tableau à créer, dans mon cas le nombre de produit. Le hic c'est que je n'arrive pas à identifier laquel est selectionnée...
    Je m'explique. Dans le ActionBean je récupère les valeurs du form:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            String Souche [] = CartForm.getId();
    J'affiche les valeurs de cette string avec un system.out.println.
    J'ai deux produits, donc deux checkbox. Je selectionne la deuxieme et je clic sur mon bouton. il me dis:
    produit 0 = on.
    Je selectionne la premiere et je clic sur mon bouton:
    produit 0 = on.

    Comment pourais-je faire pour identifier ma checkbox avec le commande_Id que j'ai dans mon ArrayList? Voici les extraits de mon code. J'espère que c'est assez clair, merci d'avance pour le coup de pouce

    JSP:
    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
    <%
    ArrayList tableau = new ArrayList();
    tableau = SwCallId.AGetInfoCart(user,pass,base);
    session.setAttribute("tableau", tableau);
    int sizeZ= tableau.size();
    ShowCartFormId.size_tab(sizeZ);
    %>
     
     
    <html:form action="/showCart" name="showCart" type="com.InraLgmpa.struts.form.ShowCartForm">
    <table border="0" align="left">
     
    <logic:iterate id="element" name="tableau">
    <tr>
     
    <TD><html:checkbox name="element" property="id" ></html:checkbox>    </TD>
    <TD><b><font color="blue"><bean:write name="element" property="Id_Souche"/></font></b></TD>  
    <TD>&nbsp;&nbsp;&nbsp;&nbsp;</TD> 
    <td><b> Date: </b></td>  
    <TD><font color="blue"><bean:write name="element" property="date"/><br></font></TD>  
    <TD>&nbsp;&nbsp;&nbsp;&nbsp;</TD> 
    <td><B> Amount: </B> </td>   
    <td>  <font color="blue"><bean:write name="element" property="quantite"/></font></td>
    </tr>
    </logic:iterate>

    BeanAction:
    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
          public ActionForward delete(
                ActionMapping mapping, 
                ActionForm form, 
                HttpServletRequest request, 
                HttpServletResponse response) throws IOException, ServletException {
                ShowCartForm CartForm = (ShowCartForm) form;
     
                String Souche [] = CartForm.getId();
                int sizeounette = Souche.length;
                for (int po=0; po<sizeounette; po++) {
                    System.out.println("Delete: Produit N° "+po+"---"+ Souche[po]);
                }
                order = "N";
    //            String delete_souche = SwCall.DeleteOrderCart(UserName, Password, bdd, Souche, order);
     
                // TODO Auto-generated method stub
                System.out.println("Click on >> DELETE");
                return mapping.findForward("oui");                
            }
    FormBean:
    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
    public class ShowCartForm extends ActionForm {
     
        // --------------------------------------------------------- Instance Variables
        /** profil property */
        private String hidden;
        static int taille=0;
     
     
        public static int size_tab(int size) {
            taille = size;
            return taille;
        }
        private String []id = new String[taille];
     
        // --------------------------------------------------------- Methods
        /**
         * @return Returns the hidden.
         */
        public String getHidden() {
            return hidden;
        }
        /**
         * @param hidden The hidden to set.
         */
        public void setHidden(String hidden) {
            this.hidden = hidden;
        }
        /**
         * @return Returns the id_Souche.
         */
     
        /**
         * @return Returns the id.
         */
        public String[] getId() {
            return id;
        }
        /**
         * @param id The id to set.
         */
        public void setId(String[] id) {
            this.id = id;
        }

  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 : 50
    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 036
    Points
    17 036
    Par défaut
    Met ceci au début de ton action et tu verras dans la console les paramètres qui sont transmis.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
                Enumeration reqParams = request.getParameterNames();
                String param = null;
                while (reqParams.hasMoreElements())
                {
                    param = (String) reqParams.nextElement();
                    System.out.println("param : " + param + " = " + request.getParameter(param));
                }
    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
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 57
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    Merci de ta réponse

    Voilà ce que j'obtiens en cliquant sur mon 1er produit puis le bouton:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    param : hidden = delete
    param : id = on
    Delete: Produit N° 0---on
    Le deuxieme produit puis le bouton:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    param : hidden = delete
    param : id = on
    Delete: Produit N° 0---on
    Et enfin les deux produits puis le bouton:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    param : hidden = delete
    param : id = on
    Delete: Produit N° 0---on
    Delete: Produit N° 1---on
    Je n'arrive toujours pas a identifier quand c'est le produit 1 ou deux qui est selectionné... Je ne comprend pas pourquoi. Pourquoi le produit 1 n'est pas dans tab[0] et le produit 2 dans tab[1]??
    Merci pour le coup de pouce

  4. #4
    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 : 50
    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 036
    Points
    17 036
    Par défaut
    regarde du côté de html:multibox c'est adapté à ton cas.
    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).

  5. #5
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 57
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par Laurent.B
    regarde du côté de html:multibox c'est adapté à ton cas.
    Ok je jete un coup d'oeil la dessus merci

  6. #6
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 57
    Points : 8
    Points
    8
    Par défaut
    Merci Laurent.B, ca fonctionne désormais!!

    J'ai modifier en multibox et rajouté un bean entre les balise de la multibox.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:multibox name="element" property="id"  ><bean:write name="element" property="id"/></html:multibox>
    J'espère que ca servira à quelqu'un!

    A+

Discussions similaires

  1. [checkbox] Récupération des valeurs de checkbox
    Par chng001 dans le forum Struts 1
    Réponses: 13
    Dernier message: 07/09/2009, 21h31
  2. Réponses: 2
    Dernier message: 14/04/2008, 14h00
  3. Réponses: 4
    Dernier message: 20/03/2007, 20h28
  4. [struts] [checkbox] récupération des valeurs cochées
    Par abourell dans le forum Struts 1
    Réponses: 16
    Dernier message: 10/06/2005, 21h58
  5. Réponses: 2
    Dernier message: 10/05/2005, 16h54

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