1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Struts2, annotations e @Result

Caros amigos,

Estou retornando aos poucos ao mundo da programação e andei estudando um pouco de struts2 e criei um projeto modelo para alguns testes e aprendizados.

Me deparei com o primeiro problema, pesquisei bastante antes de postar, mas não achei a solução.

Tenho a minha classe que possui apenas um método, conforme é visto abaixo

package com.main.java.actions;

import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Namespaces;
import org.apache.struts2.convention.annotation.Result;

@Action(value = "login", results = {
        @Result(name = "sucesso", location = "/sucesso.jsp"),
        @Result(name = "error", location = "/error.jsp") })
@Namespaces(value = { @Namespace("/formulario"), @Namespace("/") })
public class LoginAction {

    public String execute() throws Exception {

        return "sucesso";
    }
}

Onde meu método é simples e gostaria apenas de validar o retorno, porem quando clico em Login na minha JSP, a aplicação retorna o seguinte erro:

There is no Action mapped for namespace / and action name login.

A JSP está assim:

<%@ page language="java" contentType="text/html; charset=US-ASCII"
    pageEncoding="US-ASCII"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%-- Using Struts2 Tags in JSP --%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Login Page</title>
</head>
<body>
<h3>LOGIN</h3>
<s:form action="login">
    <s:submit value="Login"></s:submit>
</s:form>
</body>
</html>

Tenho uma suspeita, que não está sendo compilado corretamente o projeto e por isso ele não localiza a página de retorno.

Alguém pode dar uma dica?

Abraços

  • Aparece algum erro no console?

    Cruz   26 de fev de 2014
  • Não aparece nada no console !

    Andre   26 de fev de 2014
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags struts ou faça a sua própria pergunta.