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 :

creer une liste déroulante et l'alimenter à partir d'une base de données


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 151
    Points : 52
    Points
    52
    Par défaut creer une liste déroulante et l'alimenter à partir d'une base de données
    Bonjour tt le monde,

    Je veux creer une page jsp avec une liste deroulante

    -comment creer la liste et l'alimenter à partir d'une requete sql?

    - comment récupérer les donnees quand on clik sur un element de la liste?

    Merci pour votre aide

  2. #2
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 232
    Points : 1 897
    Points
    1 897
    Par défaut
    Quelque chose comme cela :


    Dans la servlet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    List<String> taListe = new ArrayList<String>();
    // initialisation de la liste
     
    request.setAttribute("ATTRIBUT_LISTE", taListe);
    Dans la JSP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <%
    ArrayList<String> taListe = (ArrayList) request.getAttribute("ATTRIBUT_LISTE");
    %>
    Il ne te reste plus qu'à renseigner ton objet graphique.

    Salut.
    La connaissance ne sert que si elle est partagée.
    http://ms2i.net

  3. #3
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 151
    Points : 52
    Points
    52
    Par défaut
    Citation Envoyé par Mister Nono
    Quelque chose comme cela :


    Dans la servlet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    List<String> taListe = new ArrayList<String>();
    // initialisation de la liste
     
    request.setAttribute("ATTRIBUT_LISTE", taListe);
    Dans la JSP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <%
    ArrayList<String> taListe = (ArrayList) request.getAttribute("ATTRIBUT_LISTE");
    %>
    Il ne te reste plus qu'à renseigner ton objet graphique.

    Salut.
    Je cree la liste dans la jsp mais je ne sais pas:

    1- comment remplir l'objet graphique (html) a partir de la liste créee ?
    2- comment récupérer les données correspondantes à un élément de la liste?

  4. #4
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 232
    Points : 1 897
    Points
    1 897
    Par défaut














    La connaissance ne sert que si elle est partagée.
    http://ms2i.net

  5. #5
    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
    Si ta liste est une ArrayList de String :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <select name="itemSelected">
    <%
            for (int i=0; i<taListe.size(); i++)
            {
                    String item= (String) taListe.get(i) ;
    %>
    	   <option value="<%=item%>"><%=item%></option>
    <%
            }
    %>
    </select>
    et pour récupérer l'élément sélecté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String itemSelected = request.getParameter("itemSelected") ;
    EDIT : Mister Nono a raison. En faisant une petite recherche, tu aurais pu trouver la réponse.
    Modératrice Java - Struts, Servlets/JSP, ...

  6. #6
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 151
    Points : 52
    Points
    52
    Par défaut problème avec onchange
    Merci bcp, j'arrive à créer ma liste dans ma page jsp.

    J'ai un petit problème.

    c'est que lorsque je clik sur un élément de la liste le code qui est dans onchange ne s'affiche pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <select name="nom_select" onchange="<%out.println("valeur changée");%>">
    <option value=1>Oui</option>
    <option value=2>Non</option>
    <option value=3>Sans Opinion</option>
    </select>
    c quoi le problème?

    Merci pour votre aide

  7. #7
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 232
    Points : 1 897
    Points
    1 897
    Par défaut
    Citation Envoyé par pigeon11
    Merci bcp, j'arrive à créer ma liste dans ma page jsp

    J'ai un petit problème

    c'est que lorsque je clik sur un élément de la liste le code qui est dans onchange ne s'affiche pas.
    <select name="nom_select" onchange="<%out.println("valeur changée");%>">
    <option value=1>Oui</option>
    <option value=2>Non</option>
    <option value=3>Sans Opinion</option>
    </select>

    c quoi le problème?

    Merci pour votre aide
    Ce ne serait pas ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onchange='alert("valeur changée");'
    Salut.
    La connaissance ne sert que si elle est partagée.
    http://ms2i.net

  8. #8
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 151
    Points : 52
    Points
    52
    Par défaut
    comment appeler une methode de ma servlet ,lors d'un clik sur un élément de la liste?

    Je ne sais pas comment insérer le code suivant dans mon select:

    "<%=request.getContextPath()%>/servlet/list?action=affiche"

    est ce que c comme ça :

    <select name="nom_select" onchange="<%=request.getContextPath()% >/servlet/list?action=affiche"

    en fait je voulais appeler la methode affiche de ma servlet

  9. #9
    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 exécuter la servlet, il faut mettre le tag select dans un tag form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <form action="<%=request.getContextPath()%>/servlet/list">
       <select name="nom_select">
          <option value=1>Oui</option>
          <option value=2>Non</option>
          <option value=3>Sans Opinion</option>
       </select>
       <input type="submit" value="OK"/> 
    </form>
    ou si tu veux provoquer la soumission de la servlet dès la sélection d'un élément dans la liste, tu peux utiliser l'attribut onchange :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form action="<%=request.getContextPath()%>/servlet/list" name="formSelect">
       <select name="nom_select" onchange="document.formSelect.submit();">
          <option value=1>Oui</option>
          <option value=2>Non</option>
          <option value=3>Sans Opinion</option>
       </select>
    </form>
    Ainsi, la méthode doPost ou execute de la servlet sera exécutée.
    Et dans cette méthode, tu testes si request.getParameter("nom_select") est différent de null et si c'est le cas, tu fais appel à la méthode affiche.
    Modératrice Java - Struts, Servlets/JSP, ...

  10. #10
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 151
    Points : 52
    Points
    52
    Par défaut
    Citation Envoyé par c_nvy
    si tu veux provoquer la soumission de la servlet dès la sélection d'un élément dans la liste, tu peux utiliser l'attribut onchange :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form action="<%=request.getContextPath()%>/servlet/list" name="formSelect">
       <select name="nom_select" onchange="document.formSelect.submit();">
          <option value=1>Oui</option>
          <option value=2>Non</option>
          <option value=3>Sans Opinion</option>
       </select>
    </form>
    Ainsi, la méthode doPost ou execute de la servlet sera exécutée.
    Et dans cette méthode, tu testes si request.getParameter("nom_select") est différent de null et si c'est le cas, tu fais appel à la méthode affiche.
    J'ai fais ca, et pour tester dans la methode affiche() j'ai ecrit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ((request.getParameter("nom_select")!= null)){
     System.out.println("valeur changée");
    }
    pour vérifier que la valeur change

    mais rien ne s'affiche dans la console et en plus de ça, si je clik sur non il revient a oui, il revient tjrs a la premiere valeur.

    j'ai fais un petit test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (if (request.getParameter("nom_select")== null)){System.out.println("la valeur selectionnée est nulle");}
    et il me retourne que la valeur selectionnée est nulle meme si je clik sur une autre valeur!!!

    Comment résoudre ce problème??

    Merci bcp

  11. #11
    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
    Peux-tu montrer le code de la servlet ?
    Modératrice Java - Struts, Servlets/JSP, ...

  12. #12
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 151
    Points : 52
    Points
    52
    Par défaut
    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
    public class Liste extends HttpServlet{
    	HttpServletRequest request;
    	HttpServletResponse response;
     
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     
    		this.request=request;
    		this.response=response;
     
                           affich();
     
    	}
    //	***************************************
     
     
     
    	private void affich(){
    		if (request.getParameter("nom_select")!= null){
    			System.out.println("valeur changée");
     
    	}
     
     
    	}}
    Dans la page jsp j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form action="<%=request.getContextPath()%>/servlet/list" name="formSelect">
    <select name="nom_select" onchange="document.formSelect.submit();">
    <option value="1">Oui</option>
    <option value="2">Non</option>
    <option value="3">Sans Opinion</option>
    </select>
    </form>

  13. #13
    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 ne faut surtout pas déclarer de variables d'instance dans une servlet car sinon, elles seront partagées par tous les utilisateurs.

    Il vaudrait mieux coder comme ceci :
    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
    public class Liste extends HttpServlet
    {
       protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
       {
    	if (request.getParameter("nom_select")!= null)
    	{
    	   System.out.println("valeur changée");
    	   String nom = request.getParameter("nom_select") ;
    	   this.affich(nom);
    	}
       }
      //	***************************************
      private void affich(String nom)
      {
      }
    }
    Mais ça n'explique pas pour autant le fait que tu ne récupères pas la valeur de nom_select.
    Et là, je ne vois pas pourquoi.
    Modératrice Java - Struts, Servlets/JSP, ...

  14. #14
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 151
    Points : 52
    Points
    52
    Par défaut
    Merci bcp, ca marche.

    Juste une petite chose :

    au niveau de la liste, lorsque je clik sur une valeur, ca m'affiche "valeur changée" ainsi que la valeur choisit mais la liste revient automatiquement à la premiere valeur. Moi , je veux que lorsque je clik sur un élément de la liste que cet element reste selectioné

    Merci

  15. #15
    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
    Ben, tu pourrais récupérer la valeur sélectée dans la jsp elle-même :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <%
            String nomSelected= null;
            if (request.getParameter("nom_select")!= null)
            {
               nomSelected = request.getParameter("nom_select") ;
            }
    %>
    et dans chacune des options du select ajouter le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <option value="1" <% if ( nomSelected.equals("1")) {%>selected<%}%>>Oui</option>
    Modératrice Java - Struts, Servlets/JSP, ...

  16. #16
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 151
    Points : 52
    Points
    52
    Par défaut envoi de formulaire
    Bonjour,

    J'ai un formulaire avec des zones de texte.

    Est ce que c'est possible en jsp, d'envoyer le formulaire , y compris le contenu des zones de texte par mail ??

    Si oui, comment ?

  17. #17
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 232
    Points : 1 897
    Points
    1 897
    Par défaut
    Citation Envoyé par pigeon11
    Bonjour,

    J'ai un formulaire avec des zones de texte.

    Est ce que c'est possible en jsp, d'envoyer le formulaire , y compris le contenu des zones de texte par mail ??

    Si oui, comment ?
    Mais arrête de poser des questions coup sur coup.

    Quand tu n'arrives pas à réaliser quelque chose et après moultes recherches tu poses ta question et une seule question à la fois.

    Maintenant on ne peux pas répondre à toutes tes questions surtout que beaucoup de celles-ci peuvent être trouvées facilement sur Internet ou dans des tutoriels, ou dans des FAQ.

    Il suffit très souvent de chercher un petit peu pour trouver la solution : et cela est vrai pour tous.

    Aller, a bientôt.
    La connaissance ne sert que si elle est partagée.
    http://ms2i.net

Discussions similaires

  1. [XL-2010] creer une feuille recapitulative à partir d'une liste déroulante
    Par Renter72 dans le forum Excel
    Réponses: 2
    Dernier message: 06/01/2015, 23h02
  2. Réponses: 6
    Dernier message: 09/05/2014, 17h23
  3. Réponses: 7
    Dernier message: 22/06/2012, 12h12
  4. Réponses: 3
    Dernier message: 26/10/2011, 11h17
  5. Réponses: 3
    Dernier message: 25/04/2005, 15h26

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