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 :

<logic:iterate> et tableau a double entrée


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 23
    Par défaut <logic:iterate> et tableau a double entrée
    Bonjour,

    J'ai un petit problème avec un tableau à double entrée et le <logic:Iterate>

    J'ai un form-bean struts déclarer comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    		<form-bean
    			name="totoBean"
    			type="truc.forms.PrlForm">
    			<form-property
    				name="id"
    				type="java.lang.String" />
    			<form-property
    				name="suggestions" 
    				type="java.lang.String[][]"/>
    		</form-bean>
    "suggestions" contient en fait 2 champs un ID et du texte

    Dans le form JAVA, j'ai bien les getter/setter indexés

    Dans la page JSP je voudrait qu'apparaissent uniquement les éléments "suggestions" texte et pas les ID.

    J'ai essayer différente chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    		<logic:iterate id="suggestion" property="suggestions" indexId="idx" name="totoBean">
    		<tr>
    			<td><bean:message key="prelevement.suggestions" /></td>
    			<td><bean:write name="idx"/></td>
    			<td><html:text property="suggestion[${idx}]"/></td>
    			<td><html:text property='<%="suggestion["+idx+"][0]"%>'/></td>
    			<td><html:text property='<%="suggestion["+idx+"][1]"%>'/></td>
    		</tr>
    		</logic:iterate>
    Mais à chaque fois je n'ai que l'adresse mémoire qui apparait.

    Pouvez-vous m'aider ?

    Merci d'avance

  2. #2
    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
    En Struts, il est beaucoup plus simple de travailler avec une collection d'objets ayant pour propriétés id et texte plutôt qu'avec un String[][].

    Sinon, je ne vois pas bien l'intérêt de définir les propriétés du form-bean dans le struts-config.xml si tu crées une classe Java avec getters et setters.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 23
    Par défaut
    En fait le bean est plus compliquer que cela, je l'ai simplifier pour l'exemple.
    Les données proviennent d'une base de données. Il y a un enregistrement pour le toto bean qui provient d'une table et il peut y avoir x enregistrements suggestions qui viennent d'une autre table.

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    As-tu essayé <html:text property="suggestion[0]"/> ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 23
    Par défaut
    Oui, mais toujours pareil..
    Si je ne dis pas de connerie, le suggestion (sans le "s") devrait être du type "String[][]"
    Mais comment définir dans mon form Java les getter/setter avec 2 index ?
    J'ai bien essayer de faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    	public String[] getSuggestion(int index) {
    		return suggestions[index];
    	}
    	public String getSuggestion(int index, int val) {
    		return suggestions[index][val];
    	}
    Mais a chaque fois il ne passe que dans le premier et donc me retourne l'adresse mémoire.

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    C'est vrai, j'avais zappé String[][]
    Essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <html:text property="suggestion[${idx}][0]"/>
    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. [logic:iterate] tableau de string et html:hidden
    Par Semhur dans le forum Struts 1
    Réponses: 10
    Dernier message: 30/09/2008, 10h33
  2. Parcourir un tableau de String avec logic:iterate
    Par casawi dans le forum Struts 1
    Réponses: 7
    Dernier message: 07/02/2008, 14h40
  3. [logic:iterate] afficher un tableau
    Par kkkkkk dans le forum Struts 1
    Réponses: 8
    Dernier message: 12/06/2007, 17h59
  4. Réponses: 8
    Dernier message: 28/12/2006, 11h42
  5. [ STRUTS ] [ LOGIC:ITERATE ] tableau dans un formulaire
    Par LoulouFifi dans le forum Struts 1
    Réponses: 3
    Dernier message: 18/06/2004, 16h19

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