Estou tentando utilizar um converter para um componente selectOneMenu e tudo parece normal, entra no converter que implementei blz, só que depois daí, não é processado mais nada no meu bean (nem chega a entrar no método que invoquei) e na tela aparece a página novamente (como se estivesse retornado null), mas não dá nenhum erro pra mim.
Quando não aplico o converter e passo o valor do ID ao invés do objeto, funciona tudo blz.
Alguém sabe explicar se estou utilizando de forma errada ou está faltando fazer algo?
Código abaixo:
faces-config
<converter>
<converter-id>escolaridadeConverter</converter-id>
<converter-class>converter.EscolaridadeConverter</converter-class>
</converter>
JSP
<h:selectOneMenu converter="escolaridadeConverter" value="#{inscricao.escolaridade}" required="true">
<f:selectItems value="#{inscricao.escolaridades}" />
</h:selectOneMenu>
Converter
public Object getAsObject(FacesContext context, UIComponent component, String value) throws ConverterException {
try {
Integer id = new Integer(value);
Fachada fachada = Fachada.getInstance();
Escolaridade escolaridade = fachada.findEscolaridadeById(id);
return escolaridade;
} catch (Exception e) {
return null;
}
}
public String getAsString(FacesContext context, UIComponent component, Object value) throws ConverterException {
if (value != null) {
return value.toString();
} else {
return null;
}
}
Obrigado.