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

Struts 1 Java Discussion :

[Struts] lien et paramètres


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Février 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 10
    Par défaut [Struts] lien et paramètres
    Bonjour,

    Je travaille sur un projet qui utilise Struts et voici ce que je voudrais faire:
    J'ai une page JSP, issue d'une Action, qui représente un tableau à deux colonnes + deux colonnes cachées, dont chaque ligne est un lien hypertext, qui déclenche une autre action Struts.

    Je voudrais, lorsque l'on clique sur ce lien, que les deux paramètres cachés soient pris en compte dans la requête en vue de l'exécution de l'Action suivante.

    Au niveau de la page JSP qui affiche le tableau, j'ai utilisé une HashMap qui sauvegarde mes paramètres cachés. Pour afficher ce tableau, j'ai utilisé la balise logic:iterate, ainsi que les balises bean:define et html:link pour définir les liens hypertext ansi que les colonnes à afficher.

    Voici un bout de mon code, pour y voir peut-être plus clair:

    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
    <% // HahsMap will contains data corresponding to the row the user have chosen
        	HashMap rowSelected = new HashMap();
        	rowSelected.put("client_id", ??????);
        	rowSelected.put("c_subsidiary", ??????));
        	pageContext.setAttribute("map", rowSelected);
         %>
     
      <body>
    	<html:form action="/displayConnectionSubsidiary" method="post">
     
          <table border=0 align="center">
         	 <tr>
          		  <td colspan=2 align="left" class="menu_02">Please Select Location / Company</td>
          	 </tr>
          </table>
     
          <br><br>
     
          <table border=0 align="center" class="fond_01" width=650>
          <logic:iterate id="cSub" name="genForm" property="value(CONNECTION_SUBSIDIARY_LIST)">
           <html:link page="/displayUserMenu.do" name="map">
          	<tr align="left" style='cursor :hand ;' onMouseOver='ColorOver(this);' onMouseOut='ColorOut(this);'>
          		<td class="color_01">
    	      		<bean:define id="clientCountry" name="cSub" property="value(CLIENT_COUNTRY)"/>	
    	      		<bean:write name="clientCountry" />
    	      	</td>
    	      	<td class="color_01">
    	      		<bean:define id="clientName" name="cSub" property="value(CLIENT_NAME)"/>	
    	      		<bean:write name="clientName" />
    	      	</td>
    	      	<bean:define id="clientId" name="cSub" property="value(CLIENT_ID)"/>
    	      	<bean:define id="subsidiary" name="cSub" property="value(C_SUBSIDIARY)"/>
     
    	    </tr>
    	   </html:link>
    	  </logic:iterate>
          </table>
    Mon problème, c'est qu'au niveau de la HashMap, je ne sais pas comment récupérer les paramètres qui correspondent à la ligne sur laquelle on a cliqué. Il faudrait que les valeurs des clés de la HashMap soient les deux champs cachés CLIENT_ID et C_SUBSIDIARY de la ligne. Comment faire?

    Merci pour votre aide!

    [/code]

  2. #2
    Membre habitué
    Inscrit en
    Février 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 10
    Par défaut
    Je pense avoir trouvé la solution . Je laisse mon code pour ceux qui auraient le même problème que moi:

    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
       <% // HahsMap will contains data corresponding to the row the user have chosen
        		HashMap rowSelected = new HashMap();
        		pageContext.setAttribute("map", rowSelected);
        %>
     
      <body>
    	<html:form action="/displayConnectionSubsidiary" method="post">
     
          <table border=0 align="center">
         	 <tr>
          		  <td colspan=2 align="left" class="menu_02">Please Select Location / Company</td>
          	 </tr>
          </table>
     
          <br><br>
     
          <table border=0 align="center" class="fond_01" width=650>
          <logic:iterate id="cSub" name="genForm" property="value(CONNECTION_SUBSIDIARY_LIST)">
           <html:link page="/displayUserMenu.do" name="map">
          	<tr align="left" style='cursor :hand ;' onMouseOver='ColorOver(this);' onMouseOut='ColorOut(this);'>
          		<td class="color_01">
    	      		<bean:define id="clientCountry" name="cSub" property="value(CLIENT_COUNTRY)"/>	
    	      		<bean:write name="clientCountry"/>
    	      	</td>
    	      	<td class="color_01">
    	      		<bean:define id="clientName" name="cSub" property="value(CLIENT_NAME)"/>	
    	      		<bean:write name="clientName"/>
    	      	</td>
    	      	<bean:define id="clientId" name="cSub" property="value(CLIENT_ID)"/>
    	      	<bean:define id="subsidiary" name="cSub" property="value(C_SUBSIDIARY)"/>
    	      	<%
        		rowSelected.clear();
        		rowSelected.put("client_id", clientId);
        		rowSelected.put("c_subsidiary", subsidiary);
        		pageContext.setAttribute("map", rowSelected);
         		%>
    	    </tr>
    	   </html:link>
    	  </logic:iterate>
          </table>
    Il suffit de créer une HashMap que l'on vide et remplit avec les nouvelles valeurs à chaque tour de boucle de logic:iterate.

  3. #3
    Membre habitué
    Inscrit en
    Février 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 10
    Par défaut
    Par contre, je n'arrive pas, dans mon Action, a récupéré mes deux paramètres, on me renvoie "null".

    J'ai écrit:
    String client_id = (String)request.getParameter("client_id");
    String c_subsidiary = (String)request.getParameter("c_subsidiary");

    Si quelqu'un a une idée...

  4. #4
    Membre habitué
    Inscrit en
    Février 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 10
    Par défaut
    C'est bon, j'ai trouvé, c'était une méthode "maison" qui me vidait la session à chaque fois...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Struts-Layout] liens et paramètre requete
    Par david06600 dans le forum Struts 1
    Réponses: 5
    Dernier message: 05/09/2006, 22h42
  2. [Struts]Redirection avec paramètre
    Par klereth dans le forum Struts 1
    Réponses: 2
    Dernier message: 29/06/2005, 10h56
  3. Réponses: 4
    Dernier message: 19/04/2005, 13h42
  4. [Struts] Gestion de paramètres
    Par PeteMitchell dans le forum Struts 1
    Réponses: 12
    Dernier message: 28/06/2004, 09h32
  5. [struts] passer un paramètre de page via un findForward
    Par Boosters dans le forum Struts 1
    Réponses: 4
    Dernier message: 08/03/2004, 17h35

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