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 :

[débutant] mise à jour JSP, après choix dans liste déroulante


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Inscrit en
    Juin 2003
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 55
    Points : 41
    Points
    41
    Par défaut [débutant] mise à jour JSP, après choix dans liste déroulante
    Bonjour,

    Je vais essayer de vous expliquer clairement mon problème.

    j'ai un formulaire qui contient une liste déroulante (une liste de personne)et une champ texte (un numéro de téléphone). Les données de ses deux éléments sont liés, ainsi lorsque l'utilisateur choisi une personne de la liste déroulante, je voudrais que le téléphone soit automatiquement mis à jour.

    voici le code (épuré) de ma JSP :
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    <% Collection listePersonne = (Collection) request.getAttribute("listePersonnes");%>
     
    <bean:define id="personne" name="beanPersonne" scope="request" type="bean.BeanPersonne"/>
     
    <html>
    <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link rel="stylesheet" href="/style/style.css" type="text/css">
    </head>
     
    <form action="/servlet/AdministrerPersonne" method="post" onsubmit="return false;">
    <table border="0" cellspacing="0">
    	<tr>
    		<td width="10">&nbsp;</td>
    		<td align="right" class="text">Personnel</td>
    		<td width="10">&nbsp;</td>
    		<td class="text">
    			<html:select name="personne" property="code" onchange="this.form.submit();">
    		  		<%Iterator it = listePersonne.iterator(); 
                                    while (it.hasNext()){
                                            BeanPersonne bean = (BeanPersonne) it.next();
                                            if (bean.getId()==personne.getId()){%>
    					      <option selected="true" value= <%= bean.getCode() %> ><%=bean.getLabel() %></option>
    					<%}else{ %>
    					      <option value= <%= bean.getCode() %> ><%=bean.getLabel() %></option>
    				         <%}
                                     }%>
    			</html:select>
    		</td>
    	</tr>
    	<tr>
    			<td width="10" height="50">&nbsp;</td>
    			<td align="right" class="text">Téléphone</td>
    			<td width="10">&nbsp;</td>
    			<td class="text">
     
    				<logic:present name="personne" property="telephone">
    				<input type="text" name="telephone" value="<%= personne.getTelephone() %>" maxlength="15">			
    				</logic:present>
     
    				<logic:notPresent name="personne" property="telephone">
    					<input type="text" name="telephone" maxlength="15" size="20" >
    				</logic:notPresent>
    			</td>
    	</tr>
    </table>
    et voici une partie du code de la servlet qui gère l'affichage de cette JSP :
    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
     
    public void doTask(HttpServletRequest request, HttpTaskTarget target){
            //Récupération de la liste des Personnes
    	Collection listePersonnes =  GererPersonnes.getInstance().getPersonnes();
    	request.setAttribute("listePersonnes", listePersonnes);
     
    	//Création d'un beanPersonne par défaut
    	String code = request.getParameter("code");
    	BeanPersonne personne ;
    	//récupération du beanPersonne de la requete s'il existe,
    	//sinon, création d'un beanPersonne à partir de listesPersonne
    	if (code == null || code.equals("")){
    		personne = (BeanPersonne) listePersonnes.iterator().next();
    	}else{
    		personne = GererPersonne.getInstance().getPersonne(code);
    	}
    	request.setAttribute("beanPersonne", personne);
    Comme vous pouvez le voir, dans ma servlet, je récupère une liste de toutes les personnes existantes, puis je définis une personne par défault (BeanPersonne personne) que j'affiche dans mon formulaire.

    Si l'utilisateur sélectionne une autre personne dans la liste déroulante, je renvoie la requete coté servlet (<html:select name="personne" property="code" onchange="this.form.submit();">) pour récupérer le beanPersonne correspondant et afficher son bon numéro de téléphone.

    Cependant, je trouve cette méthode un peu "lourde" de devoir repasser coté servlet pour afficher mon numéro de téléphone, alors que je l'ai dans ma JSP dans mon objet "listePersonne". Le problème, c'est que je ne sais pas comment le récupérer sur un changement de ma liste déroulante.

    Auriez vous une piste à me donner ? merci

    PS : je suis débutante en servlet/JSP, aussi, je m'excuse d'avance si je n'emploie pas les bons termes dans mes explications ou si vous voyez des horreurs dans mon code ^^ Si vous avez des critiques à faire, n'hésitez pas !!

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Points : 239
    Points
    239
    Par défaut
    regarde ici!!!

    => pense à faire des recheches sur le forum.....
    N'oubliez pas que l'eau ça rouille !
    est votre ami !

Discussions similaires

  1. [XL-2007] Suppression choix dans liste déroulante après sélection
    Par Berseker7 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 16/06/2014, 21h20
  2. Réponses: 6
    Dernier message: 05/10/2010, 21h02
  3. [AJAX] Activer un DIV après choix dans liste
    Par malabarbe dans le forum AJAX
    Réponses: 6
    Dernier message: 28/10/2009, 19h23
  4. [javascript/html] Recharger une page après choix dans liste
    Par pitchoblack dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/04/2008, 16h58
  5. [javascript/php]Recharger une page après choix dans liste déroulante
    Par eyango dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/01/2008, 13h34

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