您的选择列表需要指向 DualListModel...它本身包含一个源列表和一个目标列表。因此,您需要创建一个源列表和一个目标列表,然后从中创建一个 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}
如果列表中的数据是复杂类型,那么您需要使用转换器来转换对象