[Converter] Fonctionnement bizarre
Bonjour,
J'ai un comportement bizarre avec la méthode getAsString() de mon converter, utilisé avec un composant autoComplete.
Lorsque la zone est vide et que je tape du texte pour récupérer un bean, la valeur est de type Integer. Par contre, quand la zone contient déjà une valeur (formulaire de modif par exemple), la valeur est du type de mon bean.
Est-ce que c'est normal ? Et sinon, qu'Est-ce que je peux faire pour corriger cela ?
Code:
1 2 3 4
|
<h:outputLabel for="identite" value="#{msg['Identite']} : " styleClass="mandatory" />
<p:autoComplete id="identite" value="#{saisirSocieteLieuForm.identite}" completeMethod="#{saisirSocieteLieuForm.completeIdentite}"
var="idt" itemLabel="#{idt}" itemValue="#{idt.id}" converter="IdentiteConverter" forceSelection="true" size="25" /> |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
@FacesConverter(value = "IdentiteConverter")
public class IdentiteConverter extends BeanConverter {
@EJB
private IdentiteService m_identiteService;
@Override
public Object getAsObject(FacesContext context, UIComponent component,
String value) {
if (value != null) {
return m_identiteService.getIdentite(1);
} else {
return null;
}
}
@Override
public String getAsString(FacesContext context, UIComponent component,
Object value) {
if (value != null) {
return m_identiteService.getIdentite(1).toString(); //((Identite) value).toString();
} else {
return null;
}
}
} |
merci d'avance pour votre aide