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 :

Recuperation de la valeur d'un select


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Points : 22
    Points
    22
    Par défaut Recuperation de la valeur d'un select
    Bonsoir a tous,

    Comment peut on recuperer la valeur d'un select svp?
    est-ce faisant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.getParameter(name) // ou name est le nom donne au select
    ou bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.getParameter(value) // ou value est valeur du select
    Votre aide est la bienvenue.

  2. #2
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.getParameter("name") // ou name est le nom donne au select

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Points : 22
    Points
    22
    Par défaut
    Bonjour,

    C'est ce que j'ai fait mais j'ai toujours un problème! lorsque je valide mon formulaire ca ne renvoie rien, voici ce que j'ai fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <form method="post" name="utilisateur" action="/verification">
    <select name="utilisateur" size="1">
    	<option value="1"></option>
    	<option value="2">Patient</option>
    	<option value="3">Médecin</option>
    	<option value="4">Administrateur</option>
    </select>
    <input type="submit" value="Valider" title="Cliquez ici apres avoir choisi votre type d'utilisateur"/>
    </form>
    Et voila ma servlet:

    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
     
    public class verification extends HttpServlet {
     
            public void doGet (HttpServletRequest request, HttpServletResponse response) 
                    throws IOException, ServletException{
     
                String param = request.getParameter("utilisateur");
                if (param=="Administrateur"){
                    request.getRequestDispatcher("frameAdministrateur.jsp").forward(request, response);
                }
                else if(param=="Médecin"){
                    request.getRequestDispatcher("frameMedecin.jsp").forward(request, response);
                }
                else if(param=="Patient"){
                    request.getRequestDispatcher("framePatient.jsp").forward(request, response);
                }
            }
     
            public void doPost (HttpServletRequest request, HttpServletResponse response)
                    throws IOException, ServletException{
                doGet(request, response);
            }
    }
    Je ne sais pas d'ou vient le problème, aidez moi svp!

  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
    Pour comparer deux String, il faut utiliser equals et non ==.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
               if  ( param.equals("Administrateur") ){
    si tu veux éviter un NullPointerException dans le cas où param est null, code plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
               if  ( "Administrateur".equals(param) ){

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Points : 22
    Points
    22
    Par défaut
    Merci beacoup c_nvy, ca a reglé un problème, mais, reste que quand je valide mon formulaire ca me renvioe une Erreur 404 : Etat HTTP 404 - /verification (la ressource demandée n'est pas disponible).

    Pourtant ma servlet se trouve dans "Servlet.verification" elle est nommée "verification" et voila son mapping: "/verification".
    J'ai bien fait "Compile File" et lorsque je fait "Run File" là, ca renvoie une Erreur 500.

    Pouvez vous m'eclairer svp, je ne comprend rien.
    Merci beaucoup.

  6. #6
    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
    Il faudrait ajouter le contexte de l'application devant l'url de la servlet dans l'attribut action de la balise form.

    Soit tu le codes en dur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method="post" name="utilisateur" action="/nomDuContexte/verification">
    Soit tu utilises la méthode getContextPath() de HttpServletRequest comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method="post" name="utilisateur" action="<%=request.getContextPath()%>/verification">
    Si ça ne fonctionne toujours pas après cette modification, poste le contenu de ton web.xml.

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Points : 22
    Points
    22
    Par défaut
    Et bien ca ne fonctionne toujours pas

    J'ai essayé de faire les deux codes, mais ca renvoie une Erreur 404.
    En rajoutant "package Servlet;" dans le fichier verification.java j'ai pu obtenir une page vide en validant mon formulaire au lieu des JSP cibles, a quoi est ce du? pourquoi ca n'affiche pas les JSP?

    Voici mon fichier web.xml:

    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
     
    <web-app>
        <servlet>
            <servlet-name>verification</servlet-name>
            <servlet-class>Servlet.verification</servlet-class>
        </servlet>
     
        <servlet-mapping>
            <servlet-name>verification</servlet-name>
            <url-pattern>/verification</url-pattern>
        </servlet-mapping>
     
        <session-config>
            <session-timeout>
                30
            </session-timeout>
        </session-config>
    </web-app>
    On ne pourrait pas se servir des valeurs optionnels du select?
    Aussi, au niveau de la servlet, NetBeans signale: "Add Override Annotation".

    Merci pour vos reponses.

  8. #8
    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
    Ajoute un / devant les jsp comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.getRequestDispatcher("/frameAdministrateur.jsp").forward(request, response);

  9. #9
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Points : 22
    Points
    22
    Par défaut
    C'est exactement ce que j'ai fait, ca m'affiche une page totalement vide, encore heureux qu'il n'ya pas d'erreur 404 comme s'il y'avait que des les balises html et body et rien de plus, pourtant ceux ci figurent bel et bien dans la page administrateur.jsp.

    Voici ma servlet:
    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
     
    package Servlet;
     
    import java.io.*;
    import java.net.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
     
    public class verification extends HttpServlet {
            public void doPost (HttpServletRequest request, HttpServletResponse response) 
                    throws IOException, ServletException{
     
                String param = request.getParameter("utilisateur");
                if("Administrateur".equals(param)){
                    request.getRequestDispatcher("/administrateur.jsp").forward(request, response);
                }
                else if("Médecin".equals(param)){
                    request.getRequestDispatcher("/medecin.jsp").forward(request, response);
                }
                else if("Patient".equals(param)){
                    request.getRequestDispatcher("/patient.jsp").forward(request, response);
                }
            }
    }
    Mon formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <form method="Post" name="utilisateur" action="<%=request.getContextPath()%>/verification">
    <select name="utilisateur">
    	<option value="1"></option>
    	<option value="2">Patient</option>
    	<option value="3">Médecin</option>
    	<option value="4">Administrateur</option>
    </select>
    <input type="submit" value="Valider" title="Cliquez ici apres avoir choisi votre type d'utilisateur"/>
    </form>
    web.xml
    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
     
    <web-app>
        <servlet>
            <servlet-name>verification</servlet-name>
            <servlet-class>Servlet.verification</servlet-class>
        </servlet>
     
        <servlet-mapping>
            <servlet-name>verification</servlet-name>
            <url-pattern>/verification</url-pattern>
        </servlet-mapping>
     
        <session-config>
            <session-timeout>
                30
            </session-timeout>
        </session-config>
    </web-app>

  10. #10
    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
    En fait, je n'avais pas fait attention mais les valeurs du select ne sont pas Patient, Médecin et Administrateur mais plutôt 1,2,3 ou 4, soient les valeurs que tu as mis dans les attributs value des balises option.

    Donc, dans ta servlet, il faut tester si param est égal à 1, 2, 3 ou 4 et faire les forward en conséquence.

  11. #11
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Points : 22
    Points
    22
    Par défaut
    Ca marche enfin!!!

    c_nvy, merci infiniment! tu me sauves!

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

Discussions similaires

  1. [PHP-JS] Recuperation valeur d'un select
    Par dudezerff dans le forum Langage
    Réponses: 16
    Dernier message: 17/07/2007, 15h23
  2. Récupérer la valeur d'un select
    Par weed dans le forum Linux
    Réponses: 5
    Dernier message: 25/11/2006, 17h11
  3. Recuperer toutes les valeurs d'un select
    Par Paniez dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/08/2006, 02h15
  4. [Ajax ] Recuperation de la valeur d'un select pour traitemen
    Par NeHuS dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 14/02/2006, 15h50
  5. [sgbd] Recuperer valeurs d'un Select dans un tableau
    Par Mu_Belier dans le forum SGBD
    Réponses: 16
    Dernier message: 27/05/2005, 15h46

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