将选择项 [] 保存到列表<Hotel>对象



我有一个List <Hotel>对象,我需要将它保存到SelectItem[]对象。我该如何编码呢?

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

我需要将hotel对象保存为food对象。我如何在Java中编写此代码?

使用SelectItem对象的构造函数构造具有所需值和标签的对象。例如,以hotel id为值,hotel 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());
}
顺便说一下,<f:selectItems>也支持List<SelectItem>。这样更容易创建。
food = new ArrayList<SelectItem>();
for (Hotel hotel : hotels) {
    food.add(new SelectItem(hotel.getId(), hotel.getName()));
}

与具体问题无关,根据您的问题历史记录,您正在使用JSF 2.0。您可以直接在<f:selectItems>中使用List<Hotel>,而不需要丑陋的SelectItem包装器模型。另请参阅您的上一个问题:如何从数据库填充h:selectOneMenu的选项?

相关内容

  • 没有找到相关文章

最新更新