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 : Sélectionner tout - Visualiser dans une fenêtre à part
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" />merci d'avance pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; } } }
Partager