只需使用其構造函數構造具有所需值和標籤的對象SelectItem
。例如,以酒店id
作爲價值,酒店name
作爲標籤。
food = new SelectItem[hotels.size()];
for (int i = 0; i < hotels.size(); i++) {
Hotel hotel = hotels.get(i);
food[i] = new SelectItem(hotel.getId(), hotel.getName());
}
順便說一句,一個List<SelectItem>
也被<f:selectItems>
支持。這更容易創建。
food = new ArrayList<SelectItem>();
for (Hotel hotel : hotels) {
food.add(new SelectItem(hotel.getId(), hotel.getName()));
}
無關的具體問題,根據您的問題的歷史,你使用JSF 2.0。您可以直接在<f:selectItems>
中直接使用List<Hotel>
而不需要難看的SelectItem
包裝模型。另請參見您的上一個問題:How to populate options of h:selectOneMenu from database?
我正在嘗試[http://www.primefaces.org/showcase/ui/datatableFiltering.jsf]的例子,它給出了一個錯誤,當我嘗試添加'List'所以我被認爲使用'SelectItem []'代替。 –
Illep