我有一个List <Hotel>
对象,我需要将其保存到 SelectItem[]
目的。我该如何编码?
public List <Hotel> hotel;
public SelectItem[] food;
// followed by getters and setters
我需要保存 hotel
反对food
目的。我如何用 Java 编写这个代码?
最佳答案
只需构建 SelectItem
使用其构造函数具有所需值和标签的对象。例如,酒店 id
作为值(value)和酒店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。您可以使用 List<Hotel>
直接进入<f:selectItems>
无需丑陋SelectItem
包装模型。另请参阅您之前的问题:How to populate options of h:selectOneMenu from database?
关于java - 将 SelectItem[] 保存到 List<Hotel> 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6931897/