Boa noite a todos,
Por gentileza, eu estou tentanto converter um boolean, retorno de um h:selectBooleanCheckBox, em um Character, mas não está funcionando dessa forma:
<h:selectBooleanCheckbox id="atestadoMedico"
value="#{matriculaBean.matricula.atestMedicoBoolean}"
required="true" label="Atestado Médico">
<f:converter
ConverterId="#{matriculaBean.matricula.myConverter(booleanAquiVaiOque?)}" />
</h:selectBooleanCheckbox>
public void myConverter(boolean val) {
Character c = (char) (val ? '1' : '0');
this.setAtestMedico(c);
}
… nem assim:
<h:selectBooleanCheckbox id="atestadoMedico"
value="#{matriculaBean.matricula.atestMedicoBoolean}"
required="true" label="Atestado Médico">
<f:converter
id="javax.faces.Character" />
</h:selectBooleanCheckbox>
Isso é um bug mesmo, se sim, existe alguma maneira de tratar esses casos? Em ambas tentativas acima, eu recebo o erro:
/incluir_aluno.xhtml @74,52 <f:converter> Default behavior invoked of requiring a converter-id passed in the constructor, must override ConvertHandler(ConverterConfig)
Alguém já passou por isso e conseguiu contornar de alguma forma?
Desde já agradeço!
[]'s
cara,
da uma olha nesse link como se cria um converter.
t+
[quote=alissonvla]cara,
da uma olha nesse link como se cria um converter.
t+[/quote]
Valeu a força pco,
Vou olhar com calma, como existem muitos POJO’s com esse mesmo problema, eu estou pensando em alterar o tipo de dado no BD.
Obrigado mais uma vez, bom fds ai! =D
[]'s
Não funcionou, infelizmente.
Eu acredito que esteja tudo correto:
package br.com.pirralhos.view.converter;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.CharacterConverter;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
@FacesConverter("br.com.pirralhos.view.converter.PirralhoConverter")
public class PirralhoConverter implements Converter {
@Override
public Object getAsObject(FacesContext context, UIComponent component,
String value) {
Character c = value.charAt(0);
return c;
}
@Override
public String getAsString(FacesContext context, UIComponent component,
Object value) {
Boolean bool = (Boolean) value;
return bool.toString();
}
}
<h:selectBooleanCheckbox id="atestadoMedico"
value="#{matriculaBean.matricula.atestMedico}" required="true"
label="Atestado Médico">
<f:converter
converterId="br.com.pirralhos.view.converter.PirralhoConverter" />
</h:selectBooleanCheckbox>
Vou procurar outra forma de fazê-lo.
[]'s
Eh preciso encontrar outra maneira mesmo:
http://java.net/jira/browse/JAVASERVERFACES-456
[]'s