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

Servlets/JSP Java Discussion :

Récupérer<input select Multiple >


Sujet :

Servlets/JSP Java

  1. #1
    Membre confirmé Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Par défaut Récupérer<input select Multiple >
    Bonsoir,

    index.jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    String Loisir[][] = {{"id_loisir1","loisir1"},{"id_loisir2","loisir2"},{"id_loisir3","loisir3"}}
    String[] loisir_jsp = null;
    <select multiple name = "loisirs" size = "6" id = "list">
               <%   for(i=0; i < Loisir.length; i++)
                       {
               %>
    																 <option value = "<%= Loisir[i][0]%>" > <%= Loisir[i][1]%>                                <%
                                             }
                                       %>
     
    </select>
    Myservlet.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    String Loisir[][] = {{"id_loisir1","loisir1"},{"id_loisir2","loisir2"},{"id_loisir3","loisir3"}}
    String trait_loisir[] = new String[Loisir.length];
     
    trait_fonction = request.getParameterValues("fonction_Offre");
    // ------------------------------
    je veux réccupérer les loisirs qui ont été séléctionné par User , mais je ne sais pas exactement qu'est ce que cette méthode renvoie getParameterValues .
    Est ce qu'elle va envoyer juste les valeurs qui ont été séléctionné ( dans notre cas elle va envoyer Loisir[i][1] ) ??

    Et dans le cas où l'utilisateur n'a effectué aucun choix , est ce que request.getParameterValues retourne un tableau dont sa dimension est égale à 0 ??

    Merci Pour l'aide.

  2. #2
    Membre émérite Avatar de Lorantus
    Homme Profil pro
    Consultant développeur indépendant / Java/VB/C(++)/ObjectPal
    Inscrit en
    Août 2007
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant développeur indépendant / Java/VB/C(++)/ObjectPal

    Informations forums :
    Inscription : Août 2007
    Messages : 599
    Par défaut
    Cette fonction retourne un tableau de String qui correpondent aux valeurs séléctionnées, attribut value. Mais uniquement les séléctionnés.

    Si aucune valeur n'est séléctionnée, le tableau est vide, voir pas de tableau... même pas le paramètre dans la requête.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <select multiple name = "loisirs" size = "6" id = "list">
     <option value="Choix1">valeur 1</option>
     <option value="Valeur2">valeur 2</option>
     <option value="Option3" selected>valeur 3</option>
    </select>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    request.getParameter("loisirs")[0]; //"Choix1"
    request.getParameter("loisirs")[1]; //"Option3"
    ou dans l'autre ordre, car pas de sens défini, juste que les valeurs séléctionnées sont présentes dans le tableau.

    NOTA: si tu veux savoir ce qui n'est séléctionné, ce sont les valeurs qui ne sont pas dans le tableau... ou toutes si le paramètre est null (request.getParameter("loisirs")==null)

  3. #3
    Membre confirmé Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Par défaut
    Merci beaucoup pour votre réponse;

    S'il vous plaît, je veux réccupérer dans Jsp le tableau retourné par getParameterValues("Loisirs") (qui se trouve bien évidement dans servlet ).

    Alors voilà ce que j'ai fait : ( mais ça marche pas)
    Là dans ce Code je veux séléctionner les loisir qui sont déjà selectionnés par User.

    index.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
    String[] loisir_selectionné = null; // (1)
    if(request.getAttribute("loisirs_servlet") != null){
    // (2)
    table_loisir_selectionné = (String[]) request.getAttribute("loisirs_servlet");
    }
    
    <select multiple name = "loisirs" size = "6" id = "list">
                         <%   for(i=0; i < loisir_selectionné.length; i++)
                            {
                        %>
                         <option value = "<%= Loisir[i][0]%>" <% if(loisir_selectionné..length != 0){for(k=0; k < loisir_selectionné.length; k++){if(Fonction[k][0].equals(loisir_selectionné.[k])) out.print(" selected");}}%>> <%= Loisir[i][1]%>
                        <%
                            }
                        %>
    
                </select>
    1. Je ne suis pas sûre de cette déclaration, alors je désigne par celle-ci, un tableau de type string qui est a 0 élément [ vide au Loading de la page (c'est à dire aucun loisir ne sera selectionné ) ]
    2. dans cette boucle il m'affiche erreur, je crois que parceque je n'ai pas précié au préalable la taille de loisir_selectionné ! franchement , je ne sais pas comment la préciser puisque je ne sais pas le nombre d'éléments séléctionné !!

    Et dans ma servlet , voilà comment j'envoi ce tableau au jsp :

    MyServlet.java
    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
     
    int l = request.getParameter("loisirs").length();
            String[] trait_loisir_selectionne= new String[l];
      if(request.getParameter("loisirs") != null)
                 {
                     for(i = 0 ; i < l; i++ ){
                    trait_loisir_selectionne[i] = request.getParameterValues("loisirs")[i];
                     }
                 }
     
     
    request.setAttribute("loisirs_servlet",trait_loisir_selectionne);
     
                 String nextJSP = "/index.jsp";
                 RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(nextJSP);
                 dispatcher.forward(request,response);

    Merci de me corriger mes erreurs .

    Merci encore ...

    Le problème c'est que je dois préciser au début la taille du tableau loisir_selectionné dans la page index.jsp ,malgrès que je ne sais pas combien user va choisir !!

    Merci de m'aider .

  4. #4
    Membre confirmé Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Par défaut
    Aiiiiiiiiide s'il vous plaît !

  5. #5
    Membre émérite Avatar de Lorantus
    Homme Profil pro
    Consultant développeur indépendant / Java/VB/C(++)/ObjectPal
    Inscrit en
    Août 2007
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant développeur indépendant / Java/VB/C(++)/ObjectPal

    Informations forums :
    Inscription : Août 2007
    Messages : 599
    Par défaut
    Dans le servlet, je ferai plutôt cela, pour ne pas avoir "NullException" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      if(request.getParameter("loisirs") != null){
       int l = request.getParameter("loisirs").length();
       //...
      }
    ainsi que dans la JSP, "tout" le code dans le un bloc "if"... et un else éventuellement relevant une erreur possible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if(request.getAttribute("loisirs_servlet") != null){
       //...
      }
    Ensuite, j'utiliserai plutôt une Collection, au lieu d'une liste... Une HashMap<String,Boolean> avec:
    - key: String = attribut value du tag de la liste des séléctions possibles
    - value : Boolean = True si l'option a été séléctionnée, False sinon.

  6. #6
    Membre confirmé Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Par défaut
    S'il vous plaît, si vous pouvez me donner un lien pour lire un petit peu sur HashMap<String,Boolean> , sinon si vous pouvez ne livrer un petit exemple en utilisant ce type de collection pour résoudre mon problème . Sinon, je vous remercie pour votre réponse précedente.

    Merci beaucoup pour l'aide

  7. #7
    Membre émérite Avatar de Lorantus
    Homme Profil pro
    Consultant développeur indépendant / Java/VB/C(++)/ObjectPal
    Inscrit en
    Août 2007
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant développeur indépendant / Java/VB/C(++)/ObjectPal

    Informations forums :
    Inscription : Août 2007
    Messages : 599
    Par défaut
    Sur le site développez.com, il y a des tutoriels...

  8. #8
    Membre confirmé Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Par défaut
    Merci infiniment pour Le lien .
    En fait, J'ai essayé de résoudre mon problème en travaillant avec Vector au lieu String[], mais aussi je vois que les hashMap sont très intéressant .

    Sisiniya.

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

Discussions similaires

  1. récupérer valeur listbox selection multiple
    Par titou624 dans le forum C#
    Réponses: 9
    Dernier message: 18/05/2010, 09h09
  2. [XL-2007] Récupérer nom cellule selection multiple
    Par Fr33dom dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/02/2010, 15h45
  3. récupérer un input "select" en JSP
    Par shada dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 20/08/2008, 12h07
  4. Récupérer les valeurs d'un <select> multiple
    Par vg33 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/10/2005, 11h38
  5. récupérer toutes les valeurs choisies ds un select multiple
    Par toome dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 24/10/2005, 13h45

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