Exception 素数面选取列表

Exception 素数面选取列表,exception,primefaces,picklist,Exception,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 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>
我一直得到的是:

无法将java.util.ArrayList转换为org.primefaces.model.DualListModel


您的选择列表需要指向DualListModel…它本身包含一个源列表和一个目标列表。因此,您需要创建源列表和目标列表,然后从中创建DualListModel,例如,以primefaces showcase为例:

        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);  
然后你的getter和setter会得到并设置一个DualListModel…例如

public DualListModel<Player> getListaMembros() {  
        return listaMembros;  
    }  
    public void setPlayers(DualListModel<Player> players) {  
        this.listaMembros = listaMembros;  
    } 
然后在xhtml中,选择列表的值为

{usarioBean.listaMembros}


如果列表中的数据是复杂类型,则需要使用转换器转换对象

拾取列表需要指向DualListModel…它本身包含源列表和目标列表。因此,您需要创建源列表和目标列表,然后从中创建DualListModel,例如,以primefaces showcase为例:

        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);  
然后你的getter和setter会得到并设置一个DualListModel…例如

public DualListModel<Player> getListaMembros() {  
        return listaMembros;  
    }  
    public void setPlayers(DualListModel<Player> players) {  
        this.listaMembros = listaMembros;  
    } 
然后在xhtml中,选择列表的值为

{usarioBean.listaMembros}

如果列表中的数据是复杂类型,则需要使用转换器转换对象