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 :

Probleme avec Logic:iterate


Sujet :

Struts 1 Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 12
    Points
    12
    Par défaut Probleme avec Logic:iterate
    Bonjour ,

    je suis entrain de développer une application web on utilisant Struts et je suis bloque.mon problème est le suivant :

    j'ai la méthodes
    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
     
    public final Vector<Vector<String>> query(String query) throws JdbcAdapterException
        {
    	try
    	{
    		Vector<Vector<String>> rows = new Vector<Vector<String>>();
    		Statement statement = _connection.createStatement();
    		ResultSet result = statement.executeQuery(query);
    		int ncs = (result.getMetaData()).getColumnCount();
     
    		while (result.next())
    		{
    			Vector<String> columns = new Vector<String>(ncs);
    			for (int i = 1; i <= ncs; i++)
    			{
    			    Object object = result.getObject(i);
    			    if (object == null) columns.addElement(""); else columns.addElement(object.toString());
    			}
    			rows.addElement(columns);
    		}
    		result.close();
    		statement.close();
    		return rows;
    	}
    qui me renvoie un vector<vector<string>> cette methodes je l utilise dans mon Action .
    Ma JSP en faite c'est une page pour afficher la liste des produits qui se trouve dans ma base .

    et donc j'ai recupere mon vector<vector<string>> avec la variable request.

    et pour parcourir ce vetor j'ai utilise la balise <logic:iterate> voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <logic:iterate id="myCollectionElement" name="list">
     
      		<bean:write name="myCollectionElement"/><br />
     
    	</logic:iterate>
    le resultat etait du genre ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    c200, Sony Vaio, Computers, 128, 1600.0, Conf Laptop Vaio, null]
    [c245, Cle USB KINGSTOM G, Others, 500, 30.0, description du produits, null]
    [c300, Samsung U600, Audio-Video, 88, 120.0, description phone, null]
    [c350, Ipod 3Go , Audio-Video, 299, 200.0, Description Of products, null]
    En revanche moi je voulais recuperer element par element puisque je n aurrai pas besoin d afficher tout ces info.


    Merci d'avance .

  2. #2
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Pour afficher le contenu de ton Vector<Vector<String>> dans la jsp, il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <logic:iterate name="list" id="itemLigne">
       <tr>
       <logic:iterate name="itemLigne" id="itemColonne">
    	<td><bean:write name="itemColonne"/></td>
       </logic:iterate>
       </tr>
    </logic:iterate>
    Mais ce serait beaucoup plus simple et plus propre de créer une collection d'objets de type Produit.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Tout d'abord Merci pour ta réponse . en effet je compte faire des collections bientôt . mais la je suis vraiment à la bourre bref

    peux tu me dire comment je pourrai récupérer chaque élément parcque il y a des éléments qui devrons etre des ahref et puis d autres qui seront en gras

    c'est pour cela je voudrais récupérer que c'est dont j avais besoin.

    Cordialement

  4. #4
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Pour pouvoir récupérer les éléments séparément, il faut créer une collection d'objets de type Produit, comme je te l'ai indiqué précédemment.

    Tu crées une classe Produit avec pour propriétés les différents champs de la table que tu souhaites afficher dans la jsp.
    Et à partir du select sur la table, tu alimentes une collection d'objets de type Produit.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    List produitsList = new ArrayList() ;
    ResultSet rs=st.executeQuery("select id, nom from produit");
    while (rs.next())
    {
       Produit produit = new Produit() ;
       produit.setId(rs.getString("id"));
       produit.setNom(rs.getString("nom"));
       produitsList.add(produit);
    }
    et pour afficher le contenu de la List dans la jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <logic:iterate name="produitsList" id="produit">
       <bean:write name="produit" property="id"/>
       <bean:write name="produit" property="nom"/>
    </logic:iterate>

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Tout a fait ca marche nikel et d'ailleur je vous remercie .

    toute fois au moment de l affichage de mon résultat dans ma JSP je veux construire un URL . pour envoyer la référence de chaqueProduits.

    Mon Code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <center><table>
    			<logic:iterate name="list" id="itemLigne">
       			<tr>
     
    						<td align="left"><html:link action="/test.do?id=' ici la reference '"><bean:write name="itemLigne" property="name"/></html:link></td>
    						<td align="left"><bean:write name="itemLigne" property="comment"/></td>
    						<td align="left" class="couleur"><bean:write name="itemLigne" property="price"/></td>
     
     
       			</tr>
    			</logic:iterate>
    	</table></center>
    je récupéré bien la référence avec <bean:write name="itemLigne" property="ref"/> mais je sais pas comment je pourrai ajouter le résultat que j'ai récupéré a mon URL :/ .

    j'ai essayé ca mais ca donne rien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <logic:iterate name="list" id="itemLigne">
       			<tr>
    			   			<bean:define id="refid" name="itemLigne" property="ref" />
    						<td align="left"><html:link action="/test.do?id=<%= refid %>"><bean:write name="itemLigne" property="name"/></html:link></td>
    						<td align="left"><bean:write name="itemLigne" property="comment"/></td>
    						<td align="left" class="couleur"><bean:write name="itemLigne" property="price"/></td>
     
     
       			</tr>
    			</logic:iterate>

    y a til un moyen de le faire ? ou bien y a til un moyen de récupérer le résultat de la balise <bean:write name="itemLigne" property="ref"/> dans une variable JAVA????

    Merci .

  6. #6
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <logic:iterate name="list" id="itemLigne">
    <tr>
       <td align="left">
          <html:link action="test" paramId="id" paramName="itemLigne" paramProperty="href">
             <bean:write name="itemLigne" property="name"/>
          </html:link>
       </td>
       <td align="left"><bean:write name="itemLigne" property="comment"/></td>
       <td align="left" class="couleur"><bean:write name="itemLigne" property="price"/></td>
    </tr>
    </logic:iterate>

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Un Grand merci .

    Your are The best ^^ .

  8. #8
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    De rien.

    N'oublie pas le tag

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

Discussions similaires

  1. Affichage d'une ArrayList avec logic:iterate
    Par mitje dans le forum Struts 1
    Réponses: 2
    Dernier message: 29/09/2006, 10h02
  2. probleme avec logic:redirect
    Par gloglo dans le forum Struts 1
    Réponses: 1
    Dernier message: 02/08/2006, 09h41
  3. [EJB][jboss][struts]probleme de logic:iterate
    Par jamal_b dans le forum Wildfly/JBoss
    Réponses: 25
    Dernier message: 27/04/2006, 20h46
  4. [EJB2.1 Entity] [BMP] [Struts] Problème avec <logic:iterate>
    Par romain3395 dans le forum Java EE
    Réponses: 2
    Dernier message: 07/06/2004, 10h12

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