Erro no struts 2 - There is no Action mapped for namespace / and action name

2 respostas
B

Estou desenvolvendo um crud utilizando struts 2 no tomcat 7, quando tento cadastrar algo retorna o seguinte erro:

HTTP Status 404 - There is no Action mapped for namespace / and action name adicionaPedido.

type Status report

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

description The requested resource (There is no Action mapped for namespace / and action name adicionaPedido.) is not available.
Apache Tomcat/7.0.22


formulario-pedidos.jsp

<form action="adicionaPedido" method="post">

	descricao: <br />
	<textarea name="pedido.descricao" rows="5" cols="100"></textarea>
	<br />	
	<input type="submit" value="Adicionar">
		
</form>

classe AdicionaPedidoAction:

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

import br.com.pedidos.dao.PedidoDAO;
import br.com.pedidos.modelo.Pedido;

public class AdicionaPedidoAction {

private Pedido pedido;
	
@Action(value="adicionaPedido", results= {
		@Result(name="ok", location="pedido-adicionado.jsp")
})
public String executa(){
	new PedidoDAO().adiciona(pedido);
	return "ok";
}

public Pedido getPedido() {
	return this.pedido;
}

public void setPedido(Pedido pedido) {
	this.pedido = pedido;
}

}


web.xml

<?xml version="1.0" encoding="UTF-8"?>


pedidos

<welcome-file-list>
	<welcome-file>formulario-pedidos.jsp</welcome-file>
</welcome-file-list>

<filter>
	<filter-name>struts2</filter-name>
	<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

<filter-mapping>
	<filter-name>struts2</filter-name>
	<url-pattern>/*</url-pattern>
</filter-mapping>

Alguem pode me ajudar?

2 Respostas

drsmachado

Primeiro, use a tag [ code] para postar código.

Segundo, você deve estar colocando tuas classes na pasta WebContent.

Sugestão:

@ParentPackage("struts-default");
@Namespace("/")
public class AdicionaPedidoAction { 
//continua o código aqui
B

drsmachado, obrigado por resposder.

Minhas classes não estão na pasta WebContent.

adicionei as annotations que você passou, porém o erro continua.

Segue a estrutura do projeto.

Criado 24 de janeiro de 2012
Ultima resposta 25 de jan. de 2012
Respostas 2
Participantes 2