Minha action não é encontrada

Buenas!
Gostaria de uma mão para saber porque minha action não está sendo encontrada, mesmo estando mapeada no struts-config. Como já é madrugada, perdoem-me se for algum erro besta. :slight_smile: A situação é: ao clicar em um link tem de executar a ListaAction, que está mapeada para listatudo.jsp, mas dá erro de ClassNotFound.

confirm.jsp (onde tem o link para a action)

<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>

<html>
Cadastro efetuado com sucesso! <br/>
<br/>

<a href="/cadastro/jsp/cadastro.jsp">Fazer outro cadastro</a><br/>
<html:link action="/listatudo">Ver todos os cadastros</html:link><br/>
<a href="/cadastro/jsp/pesquisa.jsp">Pesquisar cadastro</a><br/> 
</html>

struts-config.xml (parte referente a ListaAction)

<action path="/listatudo" type="actions.ListaAction">
           <forward name="listatudo" path="/jsp/listatudo.jsp"/>
</action>

ListaAction

package actions;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import modeloCadastro.FabricaConexao;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.hibernate.Session;
import acessoBD.ManipCadastro;

public class ListaAction extends Action {
	
	public ActionForward execute(ActionMapping map, ActionForm form, HttpServletRequest req, HttpServletResponse res) throws Exception {
		
		Session ses = new FabricaConexao().getSession();
		ManipCadastro man = new ManipCadastro(ses);
		man.listsAll();
		req.setAttribute("cadastro", man);
		return map.findForward("listatudo");
	}
}

Da uma olhada no seu web.xml como esta mapeado o se servlet-mapping…

Exemplo:

  &lt;servlet-mapping&gt;
    &lt;servlet-name&gt;action&lt;/servlet-name&gt;
    &lt;url-pattern&gt;*.do&lt;/url-pattern&gt;
  &lt;/servlet-mapping&gt;

a sua action vai ter que ser chamada como ListaAction.do

creio que esteja errado aqui no struts-config tambem, não tenho certeza mas vamos lá…

o seu path deve ser o nome da Action

Exemplo:

&lt;action path="/ListaAction" type="actions.ListaAction"&gt;
           &lt;forward name="listatudo" path="/jsp/listatudo.jsp"/&gt;
&lt;/action&gt;

Acho que deve ser isso…qualquer coisa posta o erro ai…

Che, troquei o path para o nome da action e deu outro erro:

org.apache.struts.chain.commands.InvalidPathException: No action config found for the specified url.

:frowning:

Achei o que estava fazendo não dar certo. Acho que o mapeamento estava se confundindo pelo path estar com o mesmo nome do forward. Troquei o forward e funcionou. :smiley: