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" />
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;
		}
	}
 
}
merci d'avance pour votre aide