2011-08-03 43 views
0

我有一個List <Hotel>對象,我需要將它保存到一個SelectItem[]對象。我如何編碼?保存SelectItem []列表<Hotel>對象

public List <Hotel> hotel; 
public SelectItem[] food; 
// followed by getters and setters 

我需要將hotel對象保存到一個food對象。我如何在Java中編碼?

回答

2

只需使用其構造函數構造具有所需值和標籤的對象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?

+0

我正在嘗試[http://www.primefaces.org/showcase/ui/datatableFiltering.jsf]的例子,它給出了一個錯誤,當我嘗試添加'List '所以我被認爲使用'SelectItem []'代替。 – Illep