0
respostas

Mais de um método na mesma classeAction

Olá,

Gostaria de saber como devo proceder para em uma classe action, poder ter vários métodos e como chama-los. Pergunto isso pois fiz da forma abaixo e não deu certo, ele sempre cai no primeiro método da classe.

Classe Login:

public class LoginAction extends ActionSupport {

private Usuario usuario;

@Inject UsuarioService usuarioService;

@Action(value="login", results = {

@Result(name="ok", type="redirectAction", params= {"actionName", "inicializaDashboard"}),

@Result(name="input", location="/signin.jsp") })

public String login() {

Usuario usuarioLogado = usuarioService.logar(usuario);

String retorno = "input";

if(usuarioLogado != null){ ActionContext.getContext().getSession().put("usuarioLogado", usuarioLogado);

retorno = "ok";

}else{

retorno = "input";

}

return retorno;

}

@Action(value="logout", results = {

@Result(name="ok", location="/signin.jsp")

})

public String logout() {

String retorno = "ok";

ActionContext.getContext().getSession().remove("usuarioLogado");

return retorno;

}

public Usuario getUsuario() { return usuario; }

public void setUsuario(Usuario usuario) { this.usuario = usuario; }}

CHAMADA PELA JSP:

  • Log Out
  • PORÉM SEMPRE DA ERRO DIZENDO QUE NÃO ENCONTOU A ACTION OU O RESULTADO INPUT. FIZ TESTES E PERCEBI QUE SEMPRE QUE CHAMO O LOUGOUT, A ACTION CHAMADA É A DE LOGIN AO INVÉS DE LOUGOUT.