java - 将 SelectItem[] 保存到 List<Hotel> 对象

标签 java jsf

我有一个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/

相关文章:

java - 创建百分比分配,其中值 x 返回 20% 的时间,值 y 返回 35% 的时间,值 z

java - 使用正则表达式查找超过 1 个字符串

java - 仅在显示时执行复合组件代码

jsf - 请求范围和查看范围

jsf 2.0-<ui :include>xhtml included always even if rendered is false

java - 如何检查文件是否存在并在不存在时循环再次询问新文件名?

java - 如何在 Java 中从字节数组转换为字符串并删除填充字符?

java - 我可以在获取数据并将其加 1 时执行此操作吗?

java - 使用 shiro wildfly jsf 和 primefaces 进行简单登录

java - 动态用户界面 :include