Tratando erros
Bom dia pessoal estou desenvolvendo uma tela de login no Struts 2 MVC.
Estou com problema na validação do login:
Login:
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Login</title>
</head>
<body>
Realize o Login abaixo:
<s:form namespace="/login" action="login" method="post">
<s:actionerror/>
<s:textfield name="login.usuario" type="text" label="Usuário:" ></s:textfield><br>
<s:textfield name="login.senha" type="password" label="Senha:"></s:textfield><br>
<s:submit value="Logar"></s:submit>
</s:form>
</body>
</html>
Configuração no inicio da LoginAction:
@ParentPackage("default")
@Namespace("/login")
@Results({
@Result(name="ok", location="/index.jsp"),
@Result(name="Erros", location="/login/login.jsp")
})
Validação:
@Action("login")
public String login() {
if(super.hasFieldErrors() || super.hasActionErrors()) {
return "Erros";
} else
return "ok";
}
public void validate(){
if(getLogin().getUsuario() == null ||
getLogin().getUsuario().equals("")){
super.addFieldError("login.usuario", "Campo usuário Obrigatório");
} if(getLogin().getSenha() == null ||
getLogin().getSenha().equals("")){
super.addFieldError("login.senha", "Campo senha é Obrigatório");
}
if(getLogin().getSenha() == null ||
getLogin().getSenha().equals("") || getLogin().getUsuario() == null || getLogin().getUsuario().equals("")){
super.addActionError("Usuário ou senha inválido");
}
if(!getLogin().getUsuario().equals("admin") && !getLogin().getSenha().equals("admin")){
super.addActionError("Usuário ou Senha INCORRETO");
}
}
Bom o erro é o seguinte, quando o VALIDATE não pega nenhum erro, ele funciona corretamente e encaminha para a index.
Agora quando o VALIDADE em 1 dos 3 IF identifica erro, ai ele retorna a mensagem abaixo:
>
HTTP Status 404 - No result defined for action com.action.LoginAction and result inputtype Status report
message No result defined for action com.action.LoginAction and result input
description The requested resource is not available.
Apache Tomcat/7.0.39
É como se eu não tivesse definido a ação do return "Erros" mas eu defini, alguém da uma luz?
Discussão (1)
Carregando comentários...