JSF 2 <f:selectItems> ne pas reconnaître itemLabel et itemValue attributs

J'ai l'déroulant dans un Facelets page:

<h:selectOneMenu value="#{contactBean.selectedContact}" converter="#{contactConverter}">
    <f:selectItems value="#{contactsHolder.contacts}" var="contact"
    itemLabel="#{contact.firstName}" itemValue="#{contact}" />
</h:selectOneMenu>

Le problème est que, peu importe ce que j'ai mis pour itemLabel (JSF expression EL ou juste du texte brut), il ne s'affiche pas. Toute idée de ce que je fais mal?

Voici ContactConverter:

@ManagedBean(name = "contactConverter")
@RequestScoped
public class ContactConverter implements Converter, Serializable {
    @ManagedProperty(value = "#{contactsHolder}")
    private ContactsHolder contactsHolder;

    @Override
    public Object getAsObject(FacesContext context, UIComponent component, String value) {
        return contactsHolder.getContacts().get(value);
    }

    @Override
    public String getAsString(FacesContext context, UIComponent component, Object value) {
        return ((Contact) value).getContactID();
    }
    //getter & setters...
}

Et ContactsHolder:

@ManagedBean
@SessionScoped
public class ContactsHolder implements Serializable {
    private Map<String, Contact> contacts;

    @PostConstruct
    public void init() {
        contacts = new LinkedHashMap<String, Contact>();
        //get Contacts data and populate map...
    }
    //getters & setters...
}
À l'aide de texte brut convient cependant de travail.

OriginalL'auteur holic87 | 2011-10-03