La façon normale de créer et de remplir les selectOneMenu
articles seraient les suivants:
private String selectedItem; // +getter +setter
private List<SelectItem> selectItems; // +getter
public Bean() {
selectItems = new ArrayList<SelectItem>();
for (Entity entity : getYourEntities()) {
selectItems.add(new SelectItem(entity.getValue(), entity.getLabel()));
}
}
avec ce qui suit dans la vue (vous pouvez facilement subsitite <h:
avec <ice:
):
<h:selectOneMenu value="#{bean.selectedItem}">
<f:selectItems value="#{bean.selectItems}" />
</h:selectOneMenu>
lieu d'une valeur String
, vous pouvez également utiliser Number
(Integer
, Long
, etc.) puisque JSF a des convertisseurs intégrés pour cela. Mais si vous souhaitez utiliser des objets entiers comme valeur d'élément, vous devez créer un Converter
. Ceci est décrit en détail dans this article.