Affichage d'une liste dépend une autre ds une servlet
Résolu
Enjoy_d_silence
Messages postés
20
Date d'inscription
Statut
Membre
Dernière intervention
-
Enjoy_d_silence Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
Enjoy_d_silence Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Affichage d'une liste dépend une autre ds une servlet
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Affichage double ecran - Guide
- Site dangereux liste - Guide
1 réponse
"est ce que vous me proposez comme code dans la page jsp et dans la servlet"
Pourquoi tu parles de servlet ici ? Si tu fais du JSP, la servlet est générée automatiquement.
Je n'ai rien sous la main pour tester du JSP, mais en m'inspirant du code JavaScript Comment lier deux listes déroulantes entre elles ?, voici ce que ça pourrait donner pour ta JSP :
Remarque : de la manière dont j'ai fait la JSP, je suppose que tu disposes de quatre classes accessibles depuis ta JSP, avec au minimum ce code :
Pourquoi tu parles de servlet ici ? Si tu fais du JSP, la servlet est générée automatiquement.
Je n'ai rien sous la main pour tester du JSP, mais en m'inspirant du code JavaScript Comment lier deux listes déroulantes entre elles ?, voici ce que ça pourrait donner pour ta JSP :
<%@ page import="SiteDAO"%> <%@ page import="Site"%> <%@ page import="EmployeDAO"%> <%@ page import="Employe"%> <html> <head> <script type="text/javascript" language="javascript"> var sites = new Array; var employes = new Array; <% int i=0; for (Site site : SiteDAO.getAllSites()) { %> sites[<%= i %>] = new Array("<%= site.getId() %>", "<%= site.getName() %>"); employes["<%= site.getId() %>"] = new Array; <% int j=0; for (Employe employe : EmployeDAO.getAllEmployesBySite(site)) { %> employes["<%= site.getId() %>"][<%= j %>] = new Array("<%= employe.getId() %>", "<%= employe.getName(); %>"); <% j++; } i++; } %> function filltheselect(liste, choix) { switch (liste) { case "sites": raz("employes"); for (i=0; i<sites[choix].length; i++) document.formulaire.elements["employes"].options[i] = new Option(employes[choix][i][1],employes[choix][i][0]); break; case "employes": break; } } function raz(liste) { l = document.formulaire.elements[liste].length; for (i=l; i>=0; i--) document.formulaire.elements[liste].options[i]=null; } </script> </head> <body> <form name='formulaire'> Choisir un site : <select name='sites' onChange='filltheselect(this.name, this.value)'> <script> for (i=0; i<sites.length; i++) document.write('<option value="'+sites[i][0]+'">'+sites[i][1]+'</option>'); </script> </select> <br/> Choisir un employé : <select name='employes' onChange='filltheselect(this.name, this.value)'> <script> site0 = sites[0][0]; for (i=0; i<employes[site0].length; i++) document.write('<option value="'+employes[site0][i][0]+'">'+employes[site0][i][1]+'</option>'); </script> </select> </form> </body> </html>
Remarque : de la manière dont j'ai fait la JSP, je suppose que tu disposes de quatre classes accessibles depuis ta JSP, avec au minimum ce code :
public class SiteDAO { public static Collection<Site> getAllSites(); } public class Site { public String getID(); public String getName(); } public class EmployeDAO { public static Collection<Employe> getAllEmployeBySite(Site site); } public class Employe { public String getID(); pulic String getName(); }
Enjoy_d_silence
Messages postés
20
Date d'inscription
Statut
Membre
Dernière intervention
merci infiniment ^^