p:la saisie semi-automatique itemLabel jette “La classe " java.lang.La chaîne " n'a pas la propriété 'label'.”

Je vais changer de IceFaces de PrimeFaces (je voulais vraiment changer de RichFaces mais à cause d'un bug dans la nouvelle version, je ne vais pas) et je suis havinng certains dificults à mettre en œuvre correctement primefaces de saisie semi-automatique. Selon le manuel, j'ai juste besoin de mettre en œuvre une méthode qui retourne une liste d'objets, et dans ce cas, un convertisseur est nécessaire.

La liste, je suis de retour est une liste de javax.des visages.de modèle.SelectItem, je ne comprends vraiment pas pourquoi j'ai besoin de créer un convertisseur de cela, mais permet de continuer. J'ai créé un convertisseur simple, il suffit de tester, mais primefaces ne reconnaît pas mon convertisseur et renvoie cette erreur dans le navigateur:

/ressources/composants/popups/popupBuscaPessoa.xhtml @35,41 itemLabel="#{pessoa.label}": La classe java.lang.La chaîne "n'a pas la propriété "étiquette".

C'est mon conversor de classe (juste pour tester):

public class ConversorSelectItem implements Converter {

@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {      
     if (value!=null && value.isEmpty())
         return null;

     SelectItem selectItem=new SelectItem();
     selectItem.setLabel(value);
     return selectItem;     
}

@Override
public String getAsString(FacesContext context, UIComponent component, Object object) {
    return ((SelectItem)object).getLabel();
}
}

C'est là que j'ai essayer d'utiliser p:saisie semi-automatique:

<p:autoComplete value="#{modeloPopupBuscaPessoa.itemSelecionado}"
            completeMethod="#{controladorSugestaoPessoa.atualizarSugestoes}"
            var="pessoa" itemLabel="#{pessoa.label}" itemValue="#{pessoa.value}"
            converter="#{conversorSelectItem}"/>

Ai-je fait quelque chose de mal? N'est-ce pas là un défaut convertisseur pour SelectItem? Est-il un moyen plus facile de mettre en œuvre ce convertisseur?

InformationsquelleAutor brevleq | 2011-10-04