Transformação usando mascara e converter

0 respostas
S

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

Criado 24 de março de 2009
Respostas 0
Participantes 1