java - f :selectItems - possible? 中的两个集合

标签 java jsf jsf-2 facelets

我有两个 vector :

private Vector<City> allCities;
private Vector<Address> allAddresses;

城市对象包含城市 ID、邮政编码和城市名称,地址对象包含地址 ID、街道和城市 ID。 vector allCities 可以包含比 allAddresses 使用的城市更多的城市。

现在我想显示 h:selectOneListbox 中的所有地址,但不应显示 cityId,而应显示邮政编码和城市名称,如下所示:

postcode, cityname, street

有什么方法可以在不改变 vector 的情况下做到这一点吗?也许 c:forEach 是一个选项?

以下内容尚不工作,因为我不知道如何连接或使用 f:selectItems 中的两个 vector 。

        <h:selectOneListbox id="addresses"
            rendered="#{!empty customerAddresses.allAddresses}"
            required="true" requiredMessage="Please choose an address!"
            value="#{customerAddresses.addrId}" label="Addresses">
            <f:selectItems value="#{customerAddresses.allAddresses}" var="addr"
                itemLabel="#{addr.postcode}, #{addr.cityname}, #{addr.street}"
                itemValue="#{addr.addressId}" />
        </h:selectOneListbox>

最佳答案

您应该更改一些基本设置:

首先,您应该使用List而不是Vector

然后让Address类有一个成员City,如下所示:

public class Address {
 private City city;
 private int addressId;
 private String street;

 // getters and setters
}

然后你可以这样在你的facelet中使用它:

<h:selectOneListbox id="addresses"
     rendered="#{!empty customerAddresses.allAddresses}"
     required="true" requiredMessage="Please choose an address!"
     value="#{customerAddresses.addrId}" label="Addresses">
     <f:selectItems value="#{customerAddresses.allAddresses}" var="addr"
         itemLabel="#{addr.city.postcode}, #{addr.city.cityname}, #{addr.street}"
         itemValue="#{addr.addressId}" />
</h:selectOneListbox>

关于java - f :selectItems - possible? 中的两个集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5388312/

相关文章:

java - UseCMSCompactAtFullCollection 可以在Sun JDK6 中使用吗?

java mongodb 驱动程序在重复键上不会引发异常

java - JSF - 使用 ajax 调用更改 panelGroup - Beans、EL 和?

java - JSF 和类型安全

JSF 2 相当于 IBM 的 hx :scriptCollector pre- and postRender

ajax - 如何在ajax方法中获取点击的项目?

<f :viewParam> do not localize to <f:view locale>, 但到默认语言环境的验证/转换错误

java - 有时速度并不能替代

java - java中的"Final"和复制二维数组

JSF 转换器属性