Bonjour,
Dans le cadre d'un stage, je doit developper un application en J2EE (JSP/Servlet sur serveur Tomcat et base de donné MySQL). C'est un application de gestion d'entreprise. Et je precise aussi que je suis debutant dans le domaine..
Dans un des formulaire, j'ai une combobox (un select) contenant le nom des clients present dans la base de données (et il peut y en avoir beaucoup), ainsi que des champ qui permettent d'afficher les infos du client selectionné.
En gros, des qu'on selectionne un client dans le select, les autre champs doivent se completer automatiquement avec les infos du client selectionné (infos contenu dans la base de données bien entendu).
J'ai deja reussi a faire ca, via un javascript et du code java, et ca marche tres bien, mais le probleme etant que en faite, ca re-parcours integralement la base de données au chargement de la page, du coup, la page met du temps a se charger si le nombre de client devient consequent. Voila le code du javascript qui est appelle sur le onChange du select, pour vous donner une idée :
Mon probleme est que mon responsable est moyennement satisfait par cette solution, et prefererai en faite qu'a chaque fois qu'on selectionne un client dans le select, a ce moment la, la requete a la base de données serai effectué ainsi que l'affichage des infos dans les champ, pour eviter que la page mette trop de temps a se charger.
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
25
26
27
28
29
30
31 function afficheInfosClient(select) { <% //requête permettant de récupérer les infos des clients de la base ResultSet rs3 = stmt.executeQuery("SELECT id_tiers FROM tiers WHERE (tiers.id_type='3' OR tiers.id_type='2')"); while (rs3.next()) { int idClient = rs3.getInt("id_tiers"); %> if (select.value=="<%= idClient %>") { <% Connection_base con2 = new Connection_base(); Statement stmt2 = con2.retourne_statement(); ResultSet rs4 = stmt2.executeQuery("SELECT titre_tiers, nom_tiers, prenom_tiers, rue_tiers, cp_tiers, ville_tiers FROM tiers WHERE id_tiers ="+idClient); rs4.next(); String titreClient = rs4.getString(1); String nomClient = rs4.getString(2); String prenomClient = rs4.getString(3); String adresseClient = rs4.getString(4); String cpClient = rs4.getString(5); String villeClient = rs4.getString(6); %> document.form_client.titre_client.value ="<%=titreClient%>"; document.form_client.nom_client2.value ="<%=nomClient%> <%=prenomClient%>"; document.form_client.rue.value ="<%=adresseClient%>"; document.form_client.cp.value ="<%=cpClient%>"; document.form_client.ville.value ="<%=villeClient%>"; } <%}%> }
Voila, donc je me demande comment je pourrai faire cela avec les JSP?? Mon responsable m'a parler d'AJAX, mais je connais pas vraiment, et ca m'a pas l'air bien simple a utiliser, alors qu'il existe peut etre un truc prevu pour ca avec JSP...
Merci d'avance pour vos reponse.
Partager