Accéder aux éléments d'un hashset à travers les balises
bonjour,
dans mon application jee avec hibernate et jsf2
j'ai une classe (pojo) "Commande" qui contient un attribut
Code:
private Set<Fichier> fichiers = new HashSet<Fichier>(0);
alors je l'ai rempli a travers le managedBean :
Code:
1 2 3 4 5 6 7
| public void handleFileUpload(FileUploadEvent event) {
UploadedFile file = event.getFile();
Fichier f1 = new Fichier(c1,
file.getFileName(), file.getSize(), file.getContents());
this.c1.getFichiers().add(f1);
} |
pour le parcourir avec du code java :
j'utilise
Code:
1 2 3
| Iterator it = c.getFichiers().iterator();
while(it.hasNext())
session.save((Fichier)it.next()); |
alors je veux parcourir les elements de ce hashset dans ma page xhtml
je n'ai jamais travailler avec ce type de collections, j'ai cherché mas j'ai pas su comment acceder a ses elts a travers les balises (#{....})
avez vous une idée
merci bien
malheureusement pas encore
j'ai essayer en creant cette methode :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| public List<Fichier> FichiersparId(Integer id){
List<Fichier> lf = new ArrayList<Fichier>();
for(int i = 0 ;i<this.lc.size();i++ ){
if(this.lc.get(i).getId() == 1){
Iterator it = lc.get(i).getFichiers().iterator();
while(it.hasNext()){
lf.add((Fichier)it.next());
}
break;
}
}
return lf;
} |
mais lorsuq j'appele cette methode en xhtml :
Code:
1 2 3 4 5 6 7
| <f:view>
<h:form>
<h:dataTable value="#{histCommController.fichiersparId(commande.id)}" var="fichie">
<h:outputText value="#{fichie.nom}" />
</h:dataTable>
</h:form>
</f:view> |
j'ai cette erreur :
Code:
Grave: javax.el.ELException: /vues_utilisateur/historiqueCommandes.xhtml @77,124 value="#{histCommController.fichiersparId(commande.id)}": Method fichiersparId not found
peut etre il n'accepte pas des methodes avec des parametres
mais le probleme c'est que je ne peux pas eviter ces hashset car ils sont par defaut generé par hibernate dans les pojos (et je ne peux les modifier sinon erreur)
avez vous une idée
merci bien