У меня есть два вектора:
private Vector<City> allCities;
private Vector<Address> allAddresses;
Объект City содержит идентификатор города, почтовый индекс и название города, объект адреса, идентификатор адреса, улицы и города. Вектор allCities может содержать больше городов, чем используется всеми адресами.
Теперь я хочу показать все адреса в h: selectOneListbox, но вместо cityId должен быть почтовый индекс и название города, например:
postcode, cityname, street
Есть ли способ сделать это без изменения векторов? Может быть, вариант c: forEach?
Следующее еще не работает, потому что я не знаю, как объединить или использовать два вектора в f: selectItems.
<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>