2011-08-03 8 views
0

私はList <Hotel>オブジェクトを持っており、SelectItem[]オブジェクトに保存する必要があります。これをコード化するには?SelectItem []をリストに保存する<Hotel>オブジェクト

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

私はfoodオブジェクトにhotelオブジェクトを保存する必要があります。これを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>のちょうどSelectItemラッパーモデルの必要なしでList<Hotel>をまっすぐに使うことができます。 How to populate options of h:selectOneMenu from database?

+0

私は[http://www.primefaces.org/showcase/ui/datatableFiltering.jsf]の例を試していましたが、 'List 'を追加しようとするとエラーが出ます代わりに 'SelectItem []'を使うと考えました。 – Illep

関連する問題