在使用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>我一直得到的是:
不能将java.util.ArrayList转换为org.primefaces.model.DualListModel
发布于 2013-06-17 08:21:17
您的选择列表需要指向包含源列表和目标列表的DualListModel...which本身。因此,您需要创建一个源列表和一个目标列表,然后从它们创建一个DualListModel,例如,以primefaces展示为例:
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}
如果列表中的数据是复杂类型,则需要使用转换器来转换对象
https://stackoverflow.com/questions/17128161
复制相似问题