Boa Tarde Galera,
Minha duvida é o seguinte:
Estou tentando mascarar um campo CEP mais na hora de salvar ele da o seguinte erro:
value="#{MBCliente.clienteBean.nrCep}": java.lang.IllegalArgumentException: argument type mismatch
Na base de dados o tipo da coluna é integer e no meu bean tambem é integer, más na hora de jogar para o input ele da o seguinte erro. Estou utilizando a classe converter para retirar a mascara.
tenho o input:
<h:inputText id="nrCep" value="#{MBCliente.clienteBean.nrCep}" maxlength="9" size="9" styleClass="texto" converter="CEPConverter" onkeypress="MascaraCEP(this, event, null);">
O atributo esta no meu bean com o seguinte tipo:
private Integer nrCep;
Classe que converte:
public class CEPConverter implements Converter{
public Object getAsObject(FacesContext facesContext, UIComponent component, String value) {
if (value.trim().length() <= 8) return null;
return value != null ? value.substring(0, 5) + value.substring(6) : null;
}
public String getAsString(FacesContext facesContext, UIComponent component, Object value) {
if (value != null) {
String str = (String) value.toString();
if (str.length() == 8) return str.substring(0, 5) + GeraString.TRACO + str.substring(5);
else return str;
} else return "";
}
}
Se eu mudar o meu bean para private String nrCep funciona corretamente…
Alguem pode me ajudar ae galera, não estou conseguindo visualizar o erro
Falow, Abcss