Ajuda no DispatchAction

Fala galera,

estou fazendo uma aplicacao e estou usando o DispatchAction

so que esta dando o erro 404.

o codigo eh o seguinte:

struts-config.xml

<action path="/ServletManutenirFuncionario" 
            type = "ServletAction.ServletManutenirFuncionario" 
            name="ServletManutenirFuncionarioForm"
            
            parameter="metodo">
            
            <forward  name="success" path="/pages/funcionario.jsp">
                    
            </forward>
                
        </action>

na minha jsp ta assim :


<form action="ServletManutenirFuncionario.do?metodo=pesquisarPorNome" method="post" >
        <input type="text" alt="Digite o nome do funcionario que deseja pesquisar" 
        name="nomeFunc" maxlength="30">
        <input type="image" src="/imagens/bt_pesquisar_lupa.gif" name="pesquisar"> 
        
    </form>

Obrigado

a princípio parece que está correto…

a requisição está chegando na action?
verifique isto.
verifique também se a jsp que você informou está no diretório certo.

se for possível poste o código da action.

cara nao chega a entrar na action nao, o codigo esta ai .

public class ServletManutenirFuncionario extends DispatchAction {
    
    private static final String FOWARD_SUCCESS = "success";
    private static final String FOWARD_FAIL = "fail";
        
    
    
    public ActionForward pesquisarPorNome(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
    
        HttpSession secao = request.getSession();
        // verificacao caso o usuario tenha digitado um modulo na barra de endereco no qual nao tem acesso
        // e tbm para garantir a seguranca que o ususario nao esta acessando um modulo que nao pode.
        secao.removeAttribute("listaFuncionarios");
        secao.removeAttribute("acesso");
         if (! new Verifica().verificaModulos("cliente", (ArrayList) secao.getAttribute("modulos"))){
               secao.setAttribute("acesso","O usuário atual não contem acesso a este modulo. Favor contactar o Gestor do Sistema.");
               return mapping.findForward("fail");
         }
        
        ServletManutenirFuncionarioForm myForm = (ServletManutenirFuncionarioForm) form;	//formbean
        String foward = FOWARD_SUCCESS;	//retorno do mapping.findFoward
        String nome = null;	//nome para pesquisar o funcionario
        
        nome = myForm.getStrNome();     
        
        ArrayList listaFuncionarios = new ArrayList();
        
        FuncionarioDelegate objFunc = new FuncionarioDelegate();
        
        listaFuncionarios = objFunc.pesquisaFuncPorNome(nome);
        
        if ((listaFuncionarios == null) || (listaFuncionarios.size() <= 0)){
            foward = FOWARD_FAIL;
            request.setAttribute("msgErro","Não contém funcioanrio para " +
                    "" + nome + " cadastrado no sistema. ");
                       
        }
        else{
            
            secao.setAttribute("listaFuncionarios",listaFuncionarios);
            
        }
        
   
        
        return mapping.findForward(foward);
    
    

    }

Obrigado pela forca

então ele não está achando o ServletManutenirFuncionario.do

vc mapeou a action do struts no web.xml?

tenta mudar o action do teu form para
action="/ServletManutenirFuncionario.do?metodo=pesquisarPorNome"

onde você dá o submit no form?

É bastante válido também ler o que está no console… os erros são bem mais claros lá…
Mas verificar o mapeamento na web.xml era o que eu diria, também.

Galera o mapeamento no web.xml esta correto

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
            <param-name>config</param-name>
            <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <init-param>
            <param-name>debug</param-name>
            <param-value>2</param-value>
        </init-param>
        <init-param>
            <param-name>detail</param-name>
            <param-value>2</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
        </servlet>
    <servlet>
        <servlet-name>ServletValidaUsuario</servlet-name>
        <servlet-class>ServletAction.ServletValidaUsuario</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>ServletValidaUsuarioForm</servlet-name>
        <servlet-class>ServletForm.ServletValidaUsuarioForm</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>ServletLogout</servlet-name>
        <servlet-class>ServletAction.ServletLogout</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>ServletVenda</servlet-name>
        <servlet-class>ServletAction.ServletVenda</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>ServletUsuario</servlet-name>
        <servlet-class>ServletAction.ServletUsuario</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>ServletManutenirFuncionario</servlet-name>
        <servlet-class>ServletAction.ServletManutenirFuncionario</servlet-class>
    </servlet>
    <servlet><servlet-name>ServletManutenirFuncionarioForm</servlet-name><servlet-class>ServletForm.ServletManutenirFuncionarioForm</servlet-class></servlet><servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>ServletValidaUsuario</servlet-name>
        <url-pattern>/ServletValidaUsuario</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>ServletValidaUsuarioForm</servlet-name>
        <url-pattern>/ServletValidaUsuarioForm</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>ServletLogout</servlet-name>
        <url-pattern>/ServletLogout</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>ServletVenda</servlet-name>
        <url-pattern>/ServletVenda</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>ServletUsuario</servlet-name>
        <url-pattern>/ServletUsuario</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>ServletManutenirFuncionario</servlet-name>
        <url-pattern>/ServletManutenirFuncionario</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>ServletManutenirFuncionarioForm</servlet-name>
        <url-pattern>/ServletManutenirFuncionarioForm</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
	<welcome-file>
            /pages/index.jsp
        </welcome-file>
    </welcome-file-list>
</web-app>

estou tentando achar o erro mas ta dificil.

obrigado pela a ajuda
:smiley:

utilizei o submit no form e ficou assim:

[code]

    <input type="submit" src="/imagens/bt_pesquisar_lupa.gif" name="pesquisar"> 
  
    [/code]

o erro continua :cry:

</form>

galera consegui

olha que doideira nao entendi pq esta assim

dentro desse cara
http://localhost:8084/Zeron/pages/funcionario.jsp
tenho a minha action
que to chamando assim
http://localhost:8084/Zeron/pages/ServletManutenirFuncionario.do?metodo=pesquisarPorNome

so que era pra chamar assim
http://localhost:8084/Zeron/ServletManutenirFuncionario.do?metodo=pesquisarPorNome
sem o "pages"
sendo que o cara que tem a action (funcionario.jsp) esta dentro de pages
vcs sabem como que posso fazer para ficar certo?

obrigado

cara… pq vc mapeou tuas action struts como servlet’s no web.xml?

tire isto daí o mais rápido possível…rs
mapeamento de action somente do struts-config.xml

pq ? eh errado?

sim…

o struts que irá direcionar as requisições para as devidas classes (Actions).

No web.xml você mapeia somente a servlet do struts.

O struts é tão porquinho que até funciona umas coisas dessas, rs…

rsss

Brigadao pela Força

:smiley:

UAhiuHAuiHAIU
Q louco isso…
Nunca vi isso, me desculpe ficou engracado…
Imaginei que o Struts jamais acetaria isso, se me alguem me falasse isso!
iuahAiuHIUAhIA