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 :

pb Hashtable struts


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 188
    Par défaut pb Hashtable struts
    Bonjour,
    J'ai dans mon bean, de nom 'SyntheseForm', une hashtable déclarée comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private Hashtable listeProjetNbEvolutions;
    2 méthodes 'getListeProjetNbEvolutions' et 'setListeProjetNbEvolutions' permettent de récupérer cette hashtable.

    Cette hashtable est composée d'id (objet de type 'Projet') et de values : liste d'entiers. En gros, à chaque projet est associée une liste d'entiers.

    Je voudrais afficher cette hashtable dans une page jsp mais je ne sais pas comment faire. Plus exactement, je voudrais afficher un tableau avec, dans la 1ere colonne, le libellé du projet (libellé est une propriete de la classe projet), et dans les colonnes suivantes les chiffres contenus dans la liste associée au projet.
    Comment puis-je faire. Il faut utiliser un logic iterate mais pour le reste, je galère...
    Pouvez vous m'aider? Merci d'avance

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Citation Envoyé par clairette
    Bonjour,
    J'ai dans mon bean, de nom 'SyntheseForm', une hashtable déclarée comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private Hashtable listeProjetNbEvolutions;
    2 méthodes 'getListeProjetNbEvolutions' et 'setListeProjetNbEvolutions' permettent de récupérer cette hashtable.

    Cette hashtable est composée d'id (objet de type 'Projet') et de values : liste d'entiers. En gros, à chaque projet est associée une liste d'entiers.

    Je voudrais afficher cette hashtable dans une page jsp mais je ne sais pas comment faire. Plus exactement, je voudrais afficher un tableau avec, dans la 1ere colonne, le libellé du projet (libellé est une propriete de la classe projet), et dans les colonnes suivantes les chiffres contenus dans la liste associée au projet.
    Comment puis-je faire. Il faut utiliser un logic iterate mais pour le reste, je galère...
    Pouvez vous m'aider? Merci d'avance

    la doc de struts te donne un exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <logic:iterate id="element" name="myhashtable">
    Next element is <bean:write name="element" property="value"/>
    </logic:iterate>
    Si il y'a des valeurs nulles, il faut ajouter un test avec logic present ou equivalent..

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 188
    Par défaut
    Désolée mais je ne comprends pas bien... Dans mon cas je ferais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <logic:iterate id="element" name="listeProjetNbEvolutions">
    Mais comment, dans cette boucle, afficher mon id (String), et les éléments de ma liste (value) associés à cet id?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 188
    Par défaut
    Personne n'est inspiré?

  5. #5
    Expert confirmé

    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
    Par défaut
    Si dans ton Action, tu as initialisé le formulaire comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SyntheseForm syntheseForm = (SyntheseForm) form ;
    syntheseForm.setListeProjetNbEvolutions(taHashTable) ;
    Et si ta HashTable a pour clé des beans Projet, avec pour propriété libelle, et pour value des entiers, comme je l'ai compris, pour afficher les libellés et les entiers, il faut coder ceci dans la jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <table>
    	<logic:iterate id="item" name="syntheseForm" property="listeProjetNbEvolutions">
    		<tr>
    			<td><html:text name="item" property="key.libelle"/></td>
    			<td><html:text name="item" property="value"/></td>
    		</tr>
    	</logic:iterate>
    </table>
    Je considère ici que ton form-bean a été déclaré comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	<form-bean name="syntheseForm" type="tonPackage.SyntheseForm"/>

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 188
    Par défaut
    Merci c_nvy! Ca marche déjà mieux.
    J'affiche ma clé nickel. Par contre, comme valeur associée à ma clé dans ma Hashtable, j'ai une liste d'entiers.
    Lorsque je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><html:text name="item" property="value"/></td>
    Ceci affiche la liste entière comme ceci : [1,2,3,4]
    Je souhaiterais pouvoir boucler sur cette liste pour afficher les éléments un par un. Comment puis-je faire ceci? Je ne vois pas comment afficher cette liste dans ma jsp...

  7. #7
    Expert confirmé

    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
    Par défaut
    Ah désolée, j'avais compris qu'il y avait un entier par projet et non une liste d'entiers par projet.

    Tu veux donc avoir autant de colonnes dans ta table que d'entiers dans chaque liste d'entiers et ce pour chacun des projets, c'est cela ?

  8. #8
    Expert confirmé

    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
    Par défaut
    Si j'ai bien compris, ta liste d'entiers est une collection, une ArrayList par exemple.

    Donc, si tu veux afficher chaque entier de cette liste pour chaque projet, il suffit de rajouter un logic:iterate pour chaque value de ta Hashtable comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <table border="1">
    	<logic:iterate id="item" name="syntheseForm" property="listeProjetNbEvolutions">
    		<tr>
    			<td><bean:write name="item" property="key.libelle"/></td>
    			<logic:iterate id="entier" name="item" property="value">
    				<td><bean:write name="entier"/></td>
    			</logic:iterate>
    		</tr>
    	</logic:iterate>
    </table>
    Petite remarque : si tu souhaites que ton tableau affiche les valeurs dans l'ordre dans lequel tu inséres tes données, tu peux utiliser une LinkedHashMap au lieu d'une Hashtable.

Discussions similaires

  1. [STRUTS] Hashtable, obtenir value en fonction clé
    Par badjojo dans le forum Struts 1
    Réponses: 5
    Dernier message: 22/11/2005, 17h57
  2. [JSP][STRUTS]Cle d'une hashtable
    Par julienOriano dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 23/06/2004, 13h47
  3. [STRUTS] utilisation de plusieurs tags <html:subm
    Par Super Castor dans le forum Struts 1
    Réponses: 6
    Dernier message: 23/06/2004, 11h42
  4. [debutant][struts] xml.build
    Par riven dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 17/09/2003, 06h53

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