1
我希望將列表中的項目設置爲icefaces中的selectonemenu。 但是當我這樣做時,我得到以下錯誤: java.lang.ClassCastException:無法轉換爲javax.faces.model.SelectItem在冰上設置列表項:SelectOneMenu
這是一個實體類。
請幫忙。
我希望將列表中的項目設置爲icefaces中的selectonemenu。 但是當我這樣做時,我得到以下錯誤: java.lang.ClassCastException:無法轉換爲javax.faces.model.SelectItem在冰上設置列表項:SelectOneMenu
這是一個實體類。
請幫忙。
創建和填充selectOneMenu
項目的正常方式將是以下幾點:
private String selectedItem; // +getter +setter
private List<SelectItem> selectItems; // +getter
public Bean() {
selectItems = new ArrayList<SelectItem>();
for (Entity entity : getYourEntities()) {
selectItems.add(new SelectItem(entity.getValue(), entity.getLabel()));
}
}
與視圖(您可以輕鬆地subsitite <h:
與<ice:
)如下:
<h:selectOneMenu value="#{bean.selectedItem}">
<f:selectItems value="#{bean.selectItems}" />
</h:selectOneMenu>
相反值爲String
,您也可以使用任何Number
(Integer
,Long
等),因爲JSF內置了轉換器。但是,如果要將整個對象用作項目值,則需要創建一個Converter
。這在this article中有詳細描述。