Oi pessoal to com o seguinte problema tenho um campo do tipo integer que foi ligado a componente h:selectBooleanCheckbox e estou usando um converter customizado para trocar os valores de boolean para integer quando o h:selectBooleanCheckbox for alterado mais não esta funcionando o problema é que com o selectBooleanCheckbox quando o usuario altera de true para false e da um submit na pagina ele não invoca o metodo getAsString do meu converter mais se eu ligar em um inputbox funciona perfeitamente. Sera que é um bug do h:selectBooleanCheckbox ??? Alguem sabe como resolver isso ???
Segue abaixo o código:
// Converter para teste
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value)
{
System.out.println("<<<<passou pelo Getasobject valor "+ value);
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object value)
{
System.out.println("<<<<passou pelo Getasstring valor ");
}
Declaracao Facesconfig
<converter>
<description>Conversor Boolean para integer</description>
<converter-id>Booleantoint</converter-id>
<converter-class>
br.com.util.Booleantoint
</converter-class>
</converter>
Jsp que não funciona
<h:selectBooleanCheckbox converter="Booleantoint" id="SBCreprova" value="#{GradeBB.grade.reprova}">
</h:selectBooleanCheckbox>
Tambem não funciona
<h:selectBooleanCheckbox id="SBCreprova" value="#{GradeBB.grade.reprova}">
<f:converter converterId="Booleantoint"/>
</h:selectBooleanCheckbox>
assim funciona
<h:inputText styleClass="inputText" id="reprova" value="#{GradeBB.grade.reprova}" required="true" requiredMessage="O campo Reprova é Obrigatorio !!!">
<f:converter converterId="Booleantoint"/>
</h:inputText>
Fico aguardando uma resposta ou qualquer dica.
Um abraço.