No meu Bean, estou validando se existem campos nulos, ow se o usuario digitou valores invalidos…
Se tudo ocorreu bem, ele sera redirecionado para a pagina “ok.jsp” no arquivo “cadastro_processa.jsp”.
Se houver algum erro, retorna para a pagina “cadastro.jsp”, emitindo o erro encontrado.
O problema é que o usuario e o cpf que digito ainda nao foi cadastrado, e quando envio o formulario,
ao inves de ir para a pagina “ok.jsp”, ele esta retornando para a pagina “cadastro.jsp”, mas nao esta
mostrando erro…O que poderia estar fazendo de errado?
CadastroBean
public boolean ValidaCampos() {
CadastroDAO c = new CadastroDAO();
boolean volta = true;
if((getNome() != null || getNome().equals(""))
{
erros.put("nome","* Digite seu nome corretamente.<br>");
volta = false;
}
if((getCpf() != null || !getCpf().equals("")) || (getUsuario() != null || !getUsuario().equals(""))) {
String cpf = getCpf();
String usuario = getUsuario();
ArrayList arrayCliente = (ArrayList) c.listarCliente(cpf, usuario);
if(arrayCliente.size()==0)
{
volta = true;
}
else
{
Iterator itCliente = arrayCliente.iterator();
for(int i = 0; itCliente.hasNext(); i++)
{
CadastroVO vo = (CadastroVO) itCliente.next();
if(cpf.equals(vo.getCpf()))
{
erros.put("cpf", "* C.P.F. \"" + cpf + " já cadastrado.<br>");
volta = false;
}
if(usuario.equals(vo.getUsuario()))
{
erros.put("usuario", "* Usuário \"" + usuario + " já cadastrado. Tente outro.<br>");
volta = false;
}
}
}
}
cadastro.jsp
<jsp:useBean id="cadastro" class="com.loja.bean.CadastroBean" scope="request"/>
<%=cadastro.getErros("nome")%>
<%=cadastro.getErros("cpf")%>
<%=cadastro.getErros("usuario")%>
<%=cadastro.getErros("email")%>
<%=cadastro.getErros("senha")%>
--Aqui vai o formulario com o action para a pagina "cadastro_processa.jsp--
cadastro_processa.jsp
<%@ page import="com.loja.bean.CadastroBean" %>
<jsp:useBean id="cadastro" class="com.loja.bean.CadastroBean" scope="request">
<jsp:setProperty name="cadastro" property="*" />
</jsp:useBean>
<%
int opcao = Integer.parseInt(request.getParameter("opcao"));
String cep = request.getParameter("cep");
if (cadastro.ValidaCampos()) {
%>
<jsp:forward page="ok.jsp" />
<%
} else {
%>
<jsp:forward page="cadastro2.jsp" >
<jsp:param name= 'opcao' value='<%=opcao %>' />
<jsp:param name= 'cep' value='<%=cep %>' />
</jsp:forward>
<%
}
%>