Pessoal,
Coloquei uma máscara para formatação de CPF em um formulário de busca de discente(aluno), da seguinte forma :
...
<c:if test="${!buscaDiscenteGraduacao.infantil}">
<tr>
<td><h:selectBooleanCheckbox value="#{buscaDiscenteGraduacao.buscaCpf}" styleClass="noborder" id="checkCpf" /></td>
<th style="text-align: left">
<label for="checkCpf" onclick="$('formulario:checkCpf').checked = !$('formulario:checkCpf').checked;">CPF:</label>
</th>
<td>
<h:inputText value="#{buscaDiscenteGraduacao.obj.pessoa.cpf_cnpj}" size="14" id="cpfDiscente" maxlength="14"
onblur="formataCPF(this, event, null)"
onkeypress="return formataCPF(this, event, null)" >
<f:converter converterId="convertCpf"/> <f:param name="type" value="cpf" />
</h:inputText>
</td>
</tr>
</c:if>
...
Quando clico no botão submit do form que contém as tags acima, está ocorrendo o seguinte erro :
...
java.lang.NoSuchMethodError: br.ufrn.arq.util.ValidatorUtil.validateCPF_CNPJ(Ljava/lang/Long;Ljava/lang/String;Lbr/ufrn/arq/negocio/validacao/ListaMensagens;)Z at br.ufrn.sigaa.ensino.graduacao.jsf.BuscaDiscenteMBean.buscar(BuscaDiscenteMBean.java:167) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
...
como se o método não existisse na classe “br.ufrn.arq.util.ValidatorUtil”. Mas ele existe, como pode ser visto neste trecho do código da classe
...
public static long validateCPF_CNPJ(String numero, String campo, ListaMensagens lista) {
if (isEmpty(numero)) {
lista.addMensagem(CAMPO_OBRIGATORIO_NAO_INFORMADO, campo);
return 0;
}
String soNumeros = Formatador.getInstance().parseStringCPFCNPJ(numero);
boolean deuCerto = ValidadorCPFCNPJ.getInstance().validaCpfCNPJ(soNumeros);
if (deuCerto) {
return Long.parseLong(soNumeros);
}
lista.addMensagem(FORMATO_INVALIDO, campo);
return 0;
}
...
Logo abaixo está o trecho da classe BuscaDiscenteMBean, onde o método acima é invocado
...
import br.ufrn.arq.util.ValidatorUtil;
...
if (buscaCpf) {
cpf = obj.getPessoa().getCpf_cnpj();
ValidatorUtil.validateRequired(obj.getPessoa().getCpf_cnpj(), "CPF", erros);
if (cpf != null)
ValidatorUtil.validateCPF_CNPJ(obj.getPessoa().getCpf_cnpj(), "CPF", erros);
}
...
Bem, é isto.
Alguém poderia me dar alguma idéia sobre o motivo pelo qual o “ava.lang.NoSuchMethodError:” está ocorrendo, se o método existe e está sendo invocado.