3

p:selectedManyManu 是否允许默认选择?我一直无法实现这一点。我什至尝试了 Omnifaces ListConverter 和 selectItemsConverter 都没有成功。任何帮助或指针表示赞赏。页面加载时默认可以选择多个项目。这是我的代码:

POJO:

public class LocationRef implements Serializable{
private integer Seqid;
private String locname;
private String locaddress;
private String phonenumber;

//getters and setters
//tostring
//equals, hashcode

}

后端bean:

public class SelectionBean implements Serializable {
private List<LocationRef> selectedLocations;
private List<LocationRef> allLocations;

@PostConstruct
public void init() {
    selectedLocations = new ArrayList<LocationRef>();
    allLocations = new ArrayList<LocationRef>();
    selectedLocation = dao.getSelectedLocation(idList);
    allLocation = dao.getAllLocations();
}

public List<LocationRef> getSelectedLocations() {
    return selectedLocations;
}
public List<LocationRef> getAllLocations() {
    return allLocations;
}
public void setAllLocations(List<LocationRef> allLocations) {
    this.allLocations = allLocations;
}
}

xhtml:

<p:selectManyMenu  id="location" value="#{SelectionBean.selectedLocations}" 
               converter="omnifaces.SelectItemsConverter"
               showCheckbox="true" style="width: 220px" 
               >
<f:selectItems value="#{SelectionBean.allLocations}" var="loc" 
               itemValue="#{loc.locationSeqid}"
               itemLabel="#{loc.sitename}"/>       
</p:selectManyMenu>
4

1 回答 1

2

<f:selectItems itemValue>的不对。它应该代表与您想在后面的集合中单独设置的值相同的值<p:selectManyMenu value>

这应该这样做:

itemValue="#{loc}"

omnifaces.SelectItemsConverter是用于此目的的正确转换器。omnifaces.ListConverter仅适用于那些不用<f:selectItem(s)>作子组件,而是将“普通”用作自己的属性的组件List,例如<p:autoComplete>and <p:pickList>

于 2013-07-19T20:32:48.080 回答