Ajuda com Struts 1.3.8

5 respostas
robinsonbsilva

Senhores,

Tenho a action abaixo, e quando a chamo por um método especifico ela não faz nada

package br.com.unitelco.action;

import br.com.unitelco.dao.factory.ConnectionPool;
import br.com.unitelco.dto.LoginFuncionarioDTO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class LoginFuncionarioAction extends Action {

 	
   public ActionForward doLogin(ActionMapping mapping, ActionForm form, HttpServletRequest req,HttpServletResponse res) {

      try {

         LoginFuncionarioDTO dto = (LoginFuncionarioDTO) form;
         //FuncionarioDTO funcionarioDTO = (FuncionarioDTO)FuncionarioBDO.validateLogin(req, dto.getUsuario(), dto.getSenha());
         //if (funcionarioDTO.getIdFuncionario() > 0) {
         //   req.getSession().setAttribute("funcionario_dto", funcionarioDTO);
         // } else {
            //return mapping.findForward("LOGIN_FALSE");
            return mapping.findForward("SUCESSO");
         //}
      } catch (Exception e) {
         req.setAttribute("erro", e.getMessage());
         return mapping.findForward("ERRO");
      }

      //return mapping.findForward("SUCESSO");

   }

   public ActionForward loadSystem(ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse res) {

      try {
         loadSession(req);
      } catch (Exception e) {
         req.setAttribute("erro", e.getMessage());
         return mapping.findForward("ERRO");
      }

      return mapping.findForward("SUCESSO");

   }

   private void loadSession(HttpServletRequest req) throws Exception {
      ConnectionPool.getConnection (req);
   }
   
}

StrutsConfig

<global-forwards>
      <forward name="loginFuncionario" path="/loginFuncionario.do?method=loadSystem" />
   </global-forwards>

<!-- =========================================== Action Mapping Definitions -->
   <action-mappings>
      <action attribute="funcionarioDTO" input="/funcionario.do" name="funcionarioDTO" path="/funcionario" scope="request" type="br.com.unitelco.action.FuncionarioAction" parameter="method">
         <forward name="SUCESSO" path="/jsp/funcionario.jsp" />
         <forward name="LIST_ALL" path="/jsp/funcionarios.jsp" />
         <forward name="LIST_ALL_LOAD" path="/funcionario.do?method=selectAll" />
         <forward name="ERRO" path="/jsp/erro.jsp" />
      </action>

      <action input="/jsp/loginFuncionario.jsp" path="/loginFuncionario" scope="request" type="br.com.unitelco.action.LoginFuncionarioAction" parameter="method">
         <forward name="ERRO" path="/jsp/erro.jsp" />
         <forward name="SUCESSO" path="/jsp/loginFuncionario.jsp" />
         <forward name="LOGIN_FALSE" path="/jsp/login_incorreto.jsp" />
      </action>

      <action attribute="loginFuncionarioDTO" input="/loginFuncionario.do" name="loginFuncionarioDTO" path="/principalFuncionario" scope="request" type="br.com.unitelco.action.LoginFuncionarioAction" parameter="method">
         <forward name="SUCESSO" path="/jsp/main.jsp" />
         <forward name="ERRO" path="/jsp/erro.jsp" />
         <forward name="LOGIN_FALSE" path="/jsp/login_incorreto.jsp" />
      </action>

      <action attribute="logout" input="/logout.do" path="/logout" scope="request" type="br.com.unitelco.action.LogoutAction" parameter="method">
         <forward name="SUCESSO" path="/jsp/loginFuncionario.jsp" />
         <forward name="ERRO" path="/jsp/erro.jsp" />
      </action>

      <action attribute="rangeIpDTO" input="/rangeIp.do" name="rangeIpDTO" path="/rangeIp" scope="request" type="br.com.unitelco.action.RangeIpAction" parameter="method">
         <forward name="SUCESSO" path="/jsp/rangeIp.jsp" />
         <forward name="LIST_ALL" path="/jsp/rangeIps.jsp" />
         <forward name="LIST_ALL_LOAD" path="/rangeIp.do?method=selectAll" />
         <forward name="ERRO" path="/jsp/erro.jsp" />
      </action>

      <action path="/menuGeral" forward="/jsp/main.jsp"/>

    <!-- sample input and input submit actions
        <action path="/Input" type="org.apache.struts.actions.ForwardAction" parameter="/pages/Input.jsp"/>
        <action path="/InputSubmit" type="app.InputAction" name="inputForm" scope="request" validate="true" input="/pages/Input.jsp"/>
        <action path="/edit*" type="app.Edit{1}Action" name="inputForm" scope="request" validate="true" input="/pages/Edit{1}.jsp"/>
    end samples -->
   </action-mappings>

5 Respostas

Hayan

você quer usar vários métodos em uma única class?, é isso?

você esta usando public class LoginFuncionarioAction extends Action nesse caso tu pode usar somente uma única Action public ActionForward execute(ActionMapping mapping,..... nada mais e nada menos.
para usár medotos específicos você tem que usar a sua Class tem que extend a DispatchAction não é extend Action, então fica :

public class LoginFuncionarioAction extends DispatchAction

e para chamar os métodos :
http://seusite/doLogin.do?method=doLogin
http://seusite/doLogin.do?method=loadSystem

um abraço

robinsonbsilva

Bom dia…
Então, quando eu uso o “DispatchAction” no Struts 1.3.8 dá erro…ele não encontra essa classe
Eu criei um projeto através do struts_blank e as libs que eu uso são essas:

antlr-2.7.2.jar
commons-beanutils-1.7.0.jar
commons-chain-1.1.jar
commons-digester-1.8.jar
commons-logging-1.0.4.jar
commons-validator-1.3.1.jar
log4j-1.2.12.jar
oro-2.0.8.jar
struts-core-1.3.8.jar
struts-taglib-1.3.8.jar
struts-tiles-1.3.8.jar
von.juliano

A partir da versão 1.3.5 (acho que é à partir dessa :XD: ) a classe DispatchAction está dentro do struts-extra.jar.

Blz? Falow! :thumbup:

robinsonbsilva

Obrigadão Jovem…
Vc nem acredita, eu acabei de importar umas aplicações de exemplo “struts-examples-1.3.8.war” que vem com o struts e tem uma “DispatchExampleAction”…ai eu vi que tem esse bendito. extra…

Muito obrigado mesmo por sua ajuda.

Hayan

de nada robinson, qualquer dúvida que tu tem nos estamos qui pra ajudar, e eutambém preciso de vocês na minha dúvidas né :wink:

keep learning

Criado 12 de junho de 2008
Ultima resposta 13 de jun. de 2008
Respostas 5
Participantes 3