primefaces de saisie semi-automatique avec pojo

J'ai lu sur de SORTE que certains QA sur le même composant, mais je sens que je suis absent quelque chose, parce que je suis un pas en arrière.
Je ne peux même pas faire de la page ouverte lors de l'utilisation de la primefaces de saisie semi-automatique de composant en elle.
L'extrait de code pour qu'il est:

<p:autoComplete value="#{indirizzoCtrl.selectedCodiceNazione}"  
            completeMethod="#{indirizzoCtrl.completeNazione}"  
            var="nazione" itemLabel="#{nazione.nome}"   
            itemValue="#{nazione.codiceNazione}" />

Nazione est une classe Pojo où CodiceNazione et Nome are deux Chaîne de caractères (avec getter et setter pour être sûr). completeNazione est une méthode sur la ManagedBean qui renvoie List<Nazione>.
En regardant BalusC explication ici, il me semble que je n'ai pas besoin de convertisseur, parce que les deux itemValue et de la valeur de mappage des attributs de propriété de type chaîne.
De toute façon, quand je viens d'ouvrir la page contenant cette extrait de la saisie semi-automatique, il se bloque avec ce message d'erreur:

javax.el.PropertyNotFoundException: /Cliente/Indirizzo.xhtml @23,56 itemValue="#{nazione.codiceNazione}": itemValue="#{nazione.codiceNazione}": Property 'codiceNazione' not found on type java.lang.String

Pourquoi ce qui se passe? Je ne peux vraiment pas le faire. La méthode completeNazione n'a même pas appelé encore, donc il ne devrait pas savoir tout Nazione encore.
Quel est le problème avec elle?

Édité:
À la suite de la suggestion, j'ai essayé d'ajouter un convertisseur, mais j'obtiens toujours la même erreur.
Voici mon convertisseur:

    public class NazioneConverter implements Converter {

    final static Logger log = Logger.getLogger(NazioneConverter.class);

    @Override
    public Object getAsObject(FacesContext context, UIComponent component, String value) {
        if (value.trim().equals("")) {  
            return null;  
        } else {  
            try {  
                IndirizzoRepository ir = new IndirizzoRepository();
                List<Nazione> nazioni = ir.getNazioneByName(value);
                if (nazioni.size()==1) return nazioni.get(0);
                else throw new Exception();

            } catch (Exception e) {
                String msg = "Errore di conversione";
                log.error(msg, e);
                throw new ConverterException(new FacesMessage(FacesMessage.SEVERITY_ERROR, msg, "Non è una nazione conosciuta"));  
            }  
        }          
    }

    @Override
    public String getAsString(FacesContext context, UIComponent component, Object value) {
        if (value == null || value.equals("")) {  
            return "";  
        } else {  
            return String.valueOf(((Nazione) value).getNome());  
        } 
    }

}

maintenant le composant dans la vue ressemble:

<p:autoComplete value="#{indirizzoCtrl.indirizzo.nazione.codiceNazione}"  
            completeMethod="#{indirizzoCtrl.completeNazione}"  
            var="nazione" itemLabel="#{nazione.nome}" converter="#{nazioneConverter}"
            itemValue="#{nazione.codiceNazione}" forceSelection="true"  />

Mais n'ont toujours pas de travail. Le convertisseur n'est même pas invoqué: je l'ai enregistré dans mon faces-config.xml fichier.
J'ai aussi essayé itemValue="#{nazione}", comme dans le primefaces vitrine, mais le problème est devenu la ItemLabel attribut, associé à nazione.nome.
Ce que je fais mal?

Ce PF version? Faire d'autres PF composants fonctionnent bien dans le même point de vue?
la version 2.2, et tout le reste fonctionne parfaitement
Quel est le message d'erreur après l'ajout du convertisseur?
exactement le même. Si j'écris itemValue="#{nazione.codiceNazione}" puis le message d'erreur est exactement le même. Si je l'ai changer pour itemValue="#{nazione}" alors exactement la même erreur, mais en référence à itemLabel="#{nazione.nome}". En pratique, il est impossible d'extraire la propriété de nazione objet.
Personne n'a pensé à cette question? J'ai exactement le même problème. J'ai étudié la question et je ne pense pas que nous avons besoin d'un convertisseur, puisque la valeur du champ de saisie semi-automatique est une Chaîne de caractères, pas Pojo. J'apprécierais vraiment une réponse!

OriginalL'auteur themarcuz | 2011-12-19