Hello,
j'utilise actuellement un tableau de tableau dans mes bean, et j'aimerais pouvoir les afficher proprement avec JSF.
En clair, j'ai : un objet_1 qui contient un tableau d'objet_2. Et chaque objet_2 contient un tableau de String.
ce que j'ai réussit à faire était assez simple : j'accédais au premier tableau (provenant de l'objet_1) grace à une rich:datatable, et chaque colonne était mappée à la propriété : maList (provenant d'un objet_2). Je trichais un peu avec le getMaList en incrémentant l'index à chaque appel, de sorte qu'il sorte la valeur suivante. Si il atteint la fin, il recommence au début, par sécurité.
la méthode getMalist() provenant de objet_2 :
ma page JSP:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public String getMaList() { //get only one object of the ArrayList, according to the index, automatically incrmented if ( (this.indexForGet + 1) < this.nbColumns){ this.indexForGet++; }else{ this.indexForGet = 0; } } return resultPSList.get(indexForGet); }
Ca marchait vraiment bien, toutes les références étaient nickel. Jusqu'à ce que j'essaye de faire des sortBy et des filterBy. Jsf ne sait plus trop ou donner de la tête, notemment pasque toutes les output des colonnes sont "textuelement" bindé au même objet maList. D'ou confusion ! :cry
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 .... ...... <rich:dataTable id="datatableRF" binding="#{monBean.view.dataTable}" value="#{monBean.listObjet}" var="element"> <rich:column> <core:facet name="header"> <core:verbatim>1</core:verbatim> </core:facet> <html:outputText value="#{element.maList}"/> </rich:column> <rich:column> <core:facet name="header"> <core:verbatim>2</core:verbatim> </core:facet> <html:outputText value="#{element.maList}"/> </rich:column> ..... ...
Bref, j'aimerais donc changer un peu ma méthode d'accès, et je voudrais savoir si il est possible d'accéder à la valeur d'un tableau, via un output, en lui indiquant l'index ?
un peu un truc comme ca :
j'ai cherché du coté des f:param, mais ce n'est pas très concluant pour l'instant...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2<h:outputText value="#{monBean.maList[0]}"/>
Partager