Erro no struts2-There is no Action mapped for namespace

boa tarde pessoal, estou com um problema no struts2 em um exercicio da apostila fj21 da caelum, ja pesquisei no forum e achei outras pessoas com o mesmo problema, mas os posts q eu vi naum haviam sido solucionados, valeu :smiley:

este é o meu jsp q adiciona a tarefa no banco

<html>
<body>
	<h3>Adicionar Tarefas</h3>
	<form action="adicionaTarefa" method="post">
	Descricao: <br />
	<textarea name="tarefa.descricao" rows="5" cols="100"></textarea><br />
	
	<input type="submit" value="Gravar no banco">
	
	</form>
</body>
</html>

esta é a action que o jsp chama

package struts.action;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import org.apache.struts2.convention.annotation.*;

public class AdicionaTarefasAction  {

	private Tarefa tarefa;

	@Action(value = "adicionaTarefa", results = { 
			@Result(name = "ok", location = "/tarefa-adicionada.jsp")
	})
	
	public String execute() throws ClassNotFoundException {
		tarefa.setFinalizado(true);

		Calendar dataFinalizacao=Calendar.getInstance();
		tarefa.setDataFinalizacao(dataFinalizacao);

		new TarefaDAO().adiciona(tarefa);

		return "ok";
	}

	public void setTarefa(Tarefa tarefa) {
		this.tarefa = tarefa;
	}

	public Tarefa getTarefa() {
		return this.tarefa;
	}
}

este é o erro que a aprece

22/02/2011 15:28:08 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn
WARNING: Could not find action or result
[color=red] There is no Action mapped for namespace / and action name adicionaTarefa. - [unknown location][/color]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:475)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)

[quote=dessu]boa tarde pessoal, estou com um problema no struts2 em um exercicio da apostila fj21 da caelum, ja pesquisei no forum e achei outras pessoas com o mesmo problema, mas os posts q eu vi naum haviam sido solucionados, eu percebi q naum tenhu um arquivo struts.xml nem struts-config.xml, naum sei como configura um arquivo do struts.xml por isso naum consegui testar :frowning:

este é o meu jsp q adiciona a tarefa no banco

<html>
<body>
	<h3>Adicionar Tarefas</h3>
	<form action="adicionaTarefa" method="post">
	Descricao: <br />
	<textarea name="tarefa.descricao" rows="5" cols="100"></textarea><br />
	
	<input type="submit" value="Gravar no banco">
	
	</form>
</body>
</html>

esta é a action que o jsp chama

package struts.action;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import org.apache.struts2.convention.annotation.*;

public class AdicionaTarefasAction  {

	private Tarefa tarefa;

	@Action(value = "adicionaTarefa", results = { 
			@Result(name = "ok", location = "/tarefa-adicionada.jsp")
	})
	
	public String execute() throws ClassNotFoundException {
		tarefa.setFinalizado(true);

		Calendar dataFinalizacao=Calendar.getInstance();
		tarefa.setDataFinalizacao(dataFinalizacao);

		new TarefaDAO().adiciona(tarefa);

		return "ok";
	}

	public void setTarefa(Tarefa tarefa) {
		this.tarefa = tarefa;
	}

	public Tarefa getTarefa() {
		return this.tarefa;
	}
}

este é o erro que a aprece

22/02/2011 15:28:08 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn
WARNING: Could not find action or result
[color=red] There is no Action mapped for namespace / and action name adicionaTarefa. - [unknown location][/color]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:475)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
[/quote]