Olá pessoal
Estou com um pequeno pronlema em struts, vou tentar explica-lo passo a passo:
Esse é meu struts-config.xml
//==============================STRUTS CONFIG.XML=======================================
Nelle eu retorno OK e continua a executar a aplicação mais meu problema não esse essa parte
está ok.
Meu problema é quando o usuário digita um usuário e senha que não esteja cadastrado,
retorna ERRO.
Vou exmplicar com mais detalhe o que já está pronto para resolver esse problema:
Nesse meu action ele executa uma methodo hamado :
[color=red]userDAO.ValidaUsuario, esse methodo retorna
uma string ele retorna ERRO para esse nosso caso ele faz correto, então esse retorno “ERRO” eu atualizo um campo chamado FLAG com o value ERRO no jsp,só não conseguir disparar a menssagem para o usuário informando que o usuário e senha digitado não foi encontrado esse é o meu problem.
apresentar menssagem eu já consigo mais só menssagem antes que ele faça submit da página, mais após fazer submit não estou conseguido fazer disparar mensagem.[/color]
[color=green] Para resolver o problema achei uma solução só que não me satisfiz:
Quando o usuário digitasse o usuário e senha errado e ele me retornasse ERRO
então eu chamaria um outro jsp informando que o usuário que não está cadastrao, mais não gostei dessa forma acho que o ideal é ele apresentar a menssagem de erro na mesma tela e não em outra.[/color]
Qualquer ajuda é bem vinda.
Grato
segue meu action e o methodo validausuario.
//===========================================ACTION======================================
package org.apache.struts.webapp.validator;
import java.util.*;
import java.util.Locale;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.util.MessageResources;
import org.apache.struts.webapp.validator.UsuForm;
import dao.UsuarioDAO;
public final class ValidaUsuAction extends Action {
private Log log = LogFactory.getFactory().getInstance(this.getClass().getName());
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
// Extract attributes we will need
HttpSession session = request.getSession();
Locale locale = getLocale(request);
MessageResources messages = getResources(request);
UsuForm info = (UsuForm)form;
String action = request.getParameter("action");
String resultado = "success";
System.out.println("ola vou executar a consulta do usuário action ");
UsuarioDAO userDAO = new UsuarioDAO();
UsuForm infovo = new UsuForm();
//=======================METHODO VALIDAUSUARIO ==================================
String status = userDAO.ValidaUsuario(request.getParameter("usuario").toUpperCase(), request.getParameter("senha").toUpperCase());
info.setFlag(status);
return mapping.findForward(status);
}
}
//=================================METHODO DAO ===============================================
public String ValidaUsuario(String usu, String sen){
String SQL = "select usuario, senha from usuario WHERE USUARIO = ? AND SENHA = ?";
PreparedStatement ps = null;
ResultSet rs = null;
String v_status = "ERRO S";
String v_usu = "", v_sen = "";
try {
super.recuperaConexaoPool();
ps = con.prepareStatement(SQL);
ps.setString(1,usu);
ps.setString(2,sen);
rs = ps.executeQuery();
while(rs.next()){
v_usu = rs.getString(1);
v_sen = rs.getString(2);
}
if (v_usu.trim().toUpperCase().equals(usu) && v_sen.trim().toUpperCase().equals(sen)){
v_status = "OK";
}
ps.close();
con.close();
} catch (Exception e) {
System.err.println("Exception: " + e.getMessage());
} finally {
}
return v_status; //pesquisa;
}
[color=orange][/color][color=red][/color][color=blue][/color]