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-Layout] Affichage d'un objet ayant pour propriété un tableau de String


Sujet :

Struts 1 Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 11
    Points : 9
    Points
    9
    Par défaut [Struts-Layout] Affichage d'un objet ayant pour propriété un tableau de String
    Bonjour ,

    Je ne sais pas si je fais bien de poster ici , mais je débute en struts et j'ai un problème d'utilisation de la taglib layout .

    j'ai défini un object comme suit :
    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
     
     public class ObjectToTest {
     
    	private String Sector;
     
    	private String [] nameCat;
     
    	public String[] getNameCat() {
    		return nameCat;
    	}
    	public void setNameCat(String [] nameCat) {
    		this.nameCat = nameCat;
    	}
    	public String [] getNbCat() {
    		return nbCat;
    	}
    	public void setNbCat(String [] nbCat) {
    		this.nbCat = nbCat;
    	}
    	public String getSecteur() {
    		return Secteur;
    	}
    	public void setSecteur(String secteur) {
    		Secteur = secteur;
    	}
    	}
    Et donc comme résultat je voudrais afficher plusieurs lignes contenant chacune , une seule colonne "sector" et plusieurs colonnes "nameCat" , sachant que je ne connais pas à l'avance le nombre de "cat" .

    Je sais utiliser les layout pour une structure "simple" à savoir un objets et plusisuers attributs , mais j'ai du mal à afficher correctement un tableau de strings ...

    J'espère que ma question vous parait claire ? (mon probleme se situe au niveau de ma jsp )

  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
    En supposant que tu as créé une ArrayList d'objets ObjectToTest et que cette ArrayList est une propriété de ton formulaire, cela devrait donner ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <layout:collection name="tonFormBean" property="objectToTestList" id="objectToTest">
       <layout:collectionItem name="objectToTest" property="sector"/>
       <layout:collection name="objectToTest" property="nameCat" id="cat">
           <layout:collectionItem name="cat"/>
       </layout:collection>
    </layout:collection>
    A tester.

    Attention, dans la classe ObjectToTest, il faut renommer la propriété Sector en sector et renommer les méthodes getSecteur et setSecteur en getSector et setSector.
    Modératrice Java - Struts, Servlets/JSP, ...

  3. #3
    Futur Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    mici pour ta réponse mais ca ne marche pas

    il me dit qu'il ne trouve pas le bean "objectToTest" , j'ai donc remplacé "name" par "id" dans la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <layout:collection name="objectToTest" property="nameCat" id="cat">
    mais il me dit que le getter pour nameCat n'existe pas ... pourtant je l'ai bien défini dans la classe "ObjectToTest"

    ceci dit ta réponse m'a aidé à comprendre certaines choses et je t'en remercie

    as-tu une idée sur le pourquoi du comment ? merci d'avance

  4. #4
    Futur Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    bon j'ai compris pourquoi il n'acceptait pas le bean

    il suffisait de basculer sur une nestedcollection plutot qu'une collection , le dilemme maintenant est d'avoir des titres dynamiques , mais je ne sais pas comment m'y prendre ...

    pour chaque secteur , j'ai un nombre de catégories que je ne connais pas à l'avance , et pour chaque catégorie/secteur j'ai un nombre ... je ne sais pas si je suis clair ?

  5. #5
    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
    Pourrais-tu donner le code de la jsp qui fonctionne stp (avec le nestedCollection), de manière à en faire profiter d'autres personnes qui pourraient être confrontées au même problème ?
    Merci.

    Sinon, tu veux mettre quoi concrètement comme titre à chacune de tes catégories ? un titre avec un indice ?
    Modératrice Java - Struts, Servlets/JSP, ...

  6. #6
    Futur Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Désolé je n'ai pas eu le temps de poster une réponse rapidement , j'ai testé les struts layout en les poussant à leurs limites , et j'ai finalement trouvé une limite à mon plus grand regret ...

    Même en utilisant les tags pour la "nested collection" , je n'arrive pas à résoudre mon problème , il faut obligatoirement coupler le "layout:collection" à un "logic:iterate" ou sinon le coupler avec du code java (ce qui n'est pas forcement très beau à voir)

    Pour répondre à ta question je dois afficher un tableau en utilisant struts layout obligatoirement . Ce tableau est construit de la maniere suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    public class ObjectToTest extends VisualisationCategoriesForm{
     
        private String secteur;
     
        private List objectsToTest2 = new ArrayList(); 
     
               //getters et setters off course
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public class ObjectToTest2 {
     
        private String nameCat;
     
       //pareil :) 
    }
    ainsi qu'une liste de titres pour les catégories ...

    Cette liste de catégories est variable , elle est récupérée d'une base de données et constitue les titres des colonnes , or ... les propriétés "titre" des tags "collectionItem" ne peuvent contenir des titres variables . Je n'ai pas trouvé un moyen de les paramètrer ... et c'est là que je coince ... en gros le tableau doit ressembler à ca :

    "Ficher joint"



    Les cat1,2,3 ... etc sont les titres en question , et les valeurs sont celles contenues dans les objets décrits plus haut .

    J'espère être clair ... je posterai aujourd'hui la solution "batarde" que j'ai utilisé ... et qui ne m'enchante pas , mais il est clair que c'est carrement la limite des layout:collection ...

    en imbriquer deux est impossible , à part si on passe par un nested:collection ... auquel cas le titre contenu dans les collection items de nested collection sont immuables ... soit des clés statiques ...

    je n'ai jamais été doué pour expliquer les choses , et surtout pas par écrit , j'en suis désolé si je vous embrouille , posez vos questions si ca vous interresse , ca m'aidera plus à cibler mes réponses lol

    merci encore
    Images attachées Images attachées  

  7. #7
    Futur Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Bon ben finlament aucune possibilité avec struts layout collection d'afficher ce que je veux , l'attribut "title" étant invariable , l'ajout de colonnes variables est impossible.

    Seule solution un bon petit logic iterate comme on les aime , avec imbrication .

    Les nested collections permettent d'afficher dans une seule case d'une colonne plusieurs éléments et non plusieurs colonnes .

    Je mets
    un tag résolu sur le problème , mais en fin de compte , la limite de struts layout collection s'est fait ressentir ....

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

Discussions similaires

  1. [Struts-Layout] Affichage du calendrier
    Par s-ehtp dans le forum Struts 1
    Réponses: 4
    Dernier message: 29/07/2009, 13h47
  2. [Struts-Layout] Affichage d'une collection
    Par s-ehtp dans le forum Struts 1
    Réponses: 3
    Dernier message: 28/07/2009, 10h32
  3. Réponses: 9
    Dernier message: 24/04/2009, 17h08
  4. Struts layout affichage tableaux erreur: Missing resources
    Par bous_saad317 dans le forum Struts 1
    Réponses: 1
    Dernier message: 24/10/2006, 15h09
  5. [Excel] Affichage d'une cellule ayant pour valeur 0
    Par repié dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/02/2006, 11h38

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