La saisie semi-automatique fonctionne très bien, je veux dire quand j'écris quelque chose, elle obtient des valeurs de db et autocomplètes mais quand je sélectionne la valeur, elle montre selectedParty comme nulle.Par la façon dont j'utilise ce convertisseur avec selectOneMenu fonctionne bien, je peux facilement obtenir la valeur sélectionnée, mais il y a un problème avec le composant de saisie semi-automatique.
mon point de vue;primefaces autocomplete sélection retourne null
<p:autoComplete id="partySearchAutoId" value="#{myController.selectedParty}"
var="party" itemLabel="#{party.partyName}"
itemValue="#{party}" converter="genericConverter"
forceSelection="true"
completeMethod="#{myController.searchParty}">
<p:ajax event="itemSelect" update="soaInputTextId"/>
</p:autoComplete>
mon contrôleur;
private Party selectedParty;
public List<Party> searchParty(String query) {
List<Party> partyList = genericService.getByTemplate(new Party(), "partyName", query);
return partyList;
}
public Party getSelectedParty() {
return selectedParty;
}
public void setSelectedParty(Party selectedParty) {
this.selectedParty = selectedParty;
}
Voici mon convertisseur;
@FacesConverter("genericConverter")
public class GenericConverter extends SelectItemsConverter {
@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {
return value.toString();
}
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
return super.getAsObject(context, component, value); //To change body of generated methods, choose Tools | Templates.
}
}
Fournissez plus d'informations .Post votre code de contrôleur. – Makky
@Makky lorsque je débogue le projet, la méthode setSelectedParty s'exécute mais le paramètre selectedParty a une valeur nulle. –
D'où vient le SelectItemsConverter? Est-ce un cours de tierce partie? Sinon, pouvez-vous poster le code source? –