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
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
Quelque chose comme cela :
Dans la servlet :
Dans la JSP :
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);
Il ne te reste plus qu'à renseigner ton objet graphique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <% ArrayList<String> taListe = (ArrayList) request.getAttribute("ATTRIBUT_LISTE"); %>
Salut.
Je cree la liste dans la jsp mais je ne sais pas:Envoyé par Mister Nono
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?
Si ta liste est une ArrayList de String :
et pour récupérer l'élément sélecté :
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>
EDIT : Mister Nono a raison. En faisant une petite recherche, tu aurais pu trouver la réponse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part String itemSelected = request.getParameter("itemSelected") ;
Modératrice Java - Struts, Servlets/JSP, ...
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.
c quoi le problème?
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>
Merci pour votre aide
Ce ne serait pas ceci :Envoyé par pigeon11
Salut.
Code : Sélectionner tout - Visualiser dans une fenêtre à part onchange='alert("valeur changée");'
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
Pour exécuter la servlet, il faut mettre le tag select dans un tag 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
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>
Ainsi, la méthode doPost ou execute de la servlet sera exécutée.
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>
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, ...
J'ai fais ca, et pour tester dans la methode affiche() j'ai ecrit:Envoyé par c_nvy
pour vérifier que la valeur change
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"); }
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 testet il me retourne que la valeur selectionnée est nulle meme si je clik sur une autre valeur!!!
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");}
Comment résoudre ce problème??
Merci bcp
Peux-tu montrer le code de la servlet ?
Modératrice Java - Struts, Servlets/JSP, ...
Dans la page jsp j'ai :
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"); } }}
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>
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 :
Mais ça n'explique pas pour autant le fait que tu ne récupères pas la valeur de nom_select.
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) { } }
Et là, je ne vois pas pourquoi.
Modératrice Java - Struts, Servlets/JSP, ...
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
Ben, tu pourrais récupérer la valeur sélectée dans la jsp elle-même :
et dans chacune des options du select ajouter le code suivant :
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") ; } %>
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, ...
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.Envoyé par pigeon11
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.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager