Salve Guj,
O JSF coloca uma String vazia para os atributos onde o InputText não é requerido, mas eu preciso setar null nesses atributos. O jeito mais elegante que eu achei de fazer isso foi criando um único converter e colocando esse converter como padrão para classe String. Assim eu não preciso ficar informando o converter em todo inputText e nem preciso ficar alterando todos os meus métodos set. SÓ QUE NÃO ESTÁ FUNCIONANDO. Fiz assim:
Converter:
public class StringToNullConverter implements Converter {
public Object getAsObject(FacesContext context, UIComponent component, String value) {
if (value==null || value.length()==0) {return null;}
return value;
}
public String getAsString(FacesContext context, UIComponent component, Object value) {
if (value==null) {return "";}
return value.toString();
}
}
e no faces-config.xml
<converter>
<display-name>StringToNull</display-name>
<converter-for-class>java.lang.String</converter-for-class>
<converter-class>testejsf.converters.StringToNullConverter</converter-class>
</converter>
Alguem já teve esse prolema, pode me ajudar? Obrigado…