2013-06-15 5 views
1

Est-il nécessaire d'utiliser un convertisseur lorsque vous travaillez avec pickList? Eh bien, voici mon code:PrimeFaces pickList

<p:pickList value="#{usuarioBean.listaMembros}" var="#{usuario}" itemLabel="#{usuario.nome}"> 
    <f:facet name="cadastrados">Membros</f:facet> 
    <f:facet name="equipe">Membros da Equipe</f:facet> 
</p:pickList> 

Tout ce que je continue à recevoir est:

java.util.ArrayList ne peut pas être converti en org.primefaces.model.DualListModel

Répondre

5

Vos besoins de liste de choix pour pointer vers un DualListModel ... qui contient lui-même une liste source et une liste cible. Vous devez donc créer une liste source et une liste cible, puis créer un modèle DualList à partir d'eux, par exemple. en prenant la primefaces vitrine par exemple:

 List<Player> source = new ArrayList<Player>(); 
     List<Player> target = new ArrayList<Player>(); 

     source.add(new Player("Messi", 10, "messi.jpg")); 
     source.add(new Player("Iniesta", 8, "iniesta.jpg")); 
     source.add(new Player("Villa", 7, "villa.jpg")); 
     source.add(new Player("Alves", 2, "alves.jpg")); 
     source.add(new Player("Xavi", 6, "xavi.jpg")); 
     source.add(new Player("Puyol", 5, "puyol.jpg"));  

     listaMembros = new DualListModel<Player>(source, target); 

Ensuite, votre getter et setter aurait obtenir et définir une DualListModel ... par exemple

public DualListModel<Player> getListaMembros() { 
     return listaMembros; 
    } 
    public void setPlayers(DualListModel<Player> players) { 
     this.listaMembros = listaMembros; 
    } 

Ensuite, dans votre xhtml la valeur de votre liste de sélection serait

#{usarioBean.listaMembros}

Si votre wi de données mince vos listes est un type complexe alors vous aurez besoin d'utiliser un convertisseur pour convertir l'objet