Requete sql avec JSTL [Résolu]

beka74 6 Messages postés lundi 27 avril 2009Date d'inscription 18 août 2009 Dernière intervention - 12 août 2009 à 14:54 - Dernière réponse : beka74 6 Messages postés lundi 27 avril 2009Date d'inscription 18 août 2009 Dernière intervention
- 14 août 2009 à 10:04
bonjour,

je suis en stage et je travail avec JEE(jsp, sevlet, jstl).

je travail sur des formulaires que j'aimerai pré remplir à travers une base de donnée en utilisant du code jstl (JEE) sql
alors j'ai une combo box selection avec un certain nombre de choix qui est alimenté par une table de la base.
j'aimerai que lorsque je fait une selection d'un choix, les autre champs qui corresponde a la table doivent ètre afficher aussi et doivent changer, si on fait un autre choix et ils seront affichés dans les zone de saisie de formulaire (input).

Exemple: j'ai une table personne avec les attribut nom, age, taille, poids.
je vais afficher les noms dans un <select>
et age, taille, poids dans des de mon formulaire

voila mon code:

<!----------------requete------------------------>
<sql:query var="rs" dataSource="bdReference">
select* from persone
</sql:query>
<!---------------------------------------------->

<td colspan="2">

<select name="nom" id="nom" >
<c:forEach var="row" items="${rs.rows}">
<c:choose>
<c:when test="${row.nom eq exp.personne}"><option selected>${row.nom}</option> </c:when>
<c:otherwise>
<option>${row.nom}</option>
</c:otherwise>
</c:choose></c:forEach>

</select>

</td>

age " />
taille " />
poids " />



le problème est que j'arrive a afficher la liste nom, mais lorsque je sélectionne un nom, rien ne s'affiche dans les champs age, taille, poids.
je pense qu'il faut une fonction javascript, mais je ne sais pas comment faire.
merci de m'aider.
Afficher la suite 

4 réponses

Répondre au sujet
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 12 août 2009 à 15:57
+3
Utile
Salut,

Tu as plusieurs façon de faire, de la plus propre mais inneficace (fonctionnera dans tout les cas, mais prendra du temps) à la plus rapide mais la plus risquée (fonctionnera que si l'utilisateur a javascript d'activé... donc prévoir une solution de rechange !) :
- Faire un submit de ton formulaire afin de renseigner le serveur de regénérer la page avec les bonnes données sur le clic d'un bouton inclu dans ta page HTML (aucun javascript là dedans, donc compatible avec tout navigateur !).
- Faire un submit de ton formulaire afin de renseigner le serveur de regénérer la page avec les bonnes données lors de la sélection dans la liste grâce à une fonction javascript.
- Charger toutes les données dans des variables javascripts dès le chargement de ta page (beaucoup plus rapide en utilisation, mais consomme beaucoup de bande passante pour pas grand chose, et surtout, s'il y a beaucoup de données !!!)
- Faire une requête en AJAX (javascript donc) qui te permettra d'envoyer une requête au serveur afin qu'il charge les données dans un flux XML à destination du navigateur.
- Faire une requête en javascript asynchrone qui te permettra d'envoyer une requête au serveur afin qu'il charge les données dans un flux JSon à destination du navigateur (beaucoup plus efficace et facile à manipuler par du code javascript !).

Voilà, à toi de décider maintenant...
______________________________________
DarK Sidious
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_DARKSIDIOUS
beka74 6 Messages postés lundi 27 avril 2009Date d'inscription 18 août 2009 Dernière intervention - 13 août 2009 à 13:53
0
Utile
salut DarK,
merci pour ta réponse , mais j'avoue que je ne voie pas comment procéder. tu n'as pas un exemple a me montré avec du code en utilisant l'option "- Faire un submit de ton formulaire afin de renseigner le serveur de regénérer la page avec les bonnes données lors de la sélection dans la liste grâce à une fonction javascript. " que tu m'as proposé,
merci encore une fois
a+
Commenter la réponse de beka74
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 13 août 2009 à 14:00
0
Utile
Salut,

Et bien sur l'événement onChange de ton select, tu submite le formulaire contenant ton select, ainsi une requête est envoyé au serveur avec la valeur sélectionnée, et tu n'as plus qu'à charger les données dans ta base de données selon cette valeur. C'est le B.A.-BA de tout formulaire HTML...

Ca fonctionne comme un bouton submit, sauf que ce n'est pas l'utilisateur qui le délenche, mais toi par un code javascript (en javascript : tonFormulaire.submit();)
______________________________________
DarK Sidious
Commenter la réponse de cs_DARKSIDIOUS
beka74 6 Messages postés lundi 27 avril 2009Date d'inscription 18 août 2009 Dernière intervention - 14 août 2009 à 10:04
0
Utile
merci DarK Sidious pour ta réponse
bonne journée
je suis entrain de travailler dessus, j'espére que ce va marcher.
A+
Commenter la réponse de beka74

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.