Struts - Redirecionamento

Fala Galera,

to fazendo um login aqui usando o struts, porem estou com um problema aqui e não estou conseguindo achar uma solução. o problema é o seguinte:

tenho minha action para fazer o login do usuário, se o usuário errar o login volto com ele para a tela com o formulário para fazer o login novamente até ai tudo certo, mas quando esta tudo correto usuário e senha, eu o mando para a tela inicial do sistema, o problema é que na url ao invés de aparecer a action para a entrada do sistema que seria entrada.do, continua aparecendo logar.do e ele está na tela inicial do mesmo.

como eu poderia resolver isso?

abaixo segue o techo da action e o struts-config:

return mapping.findForward("entrada");
<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
          "http://jakarta.apache.org/struts/dtds/struts-config_1_3.dtd">


<struts-config>
    <form-beans>
        <form-bean name="UsuarioForm" type="com.appcf.forms.UsuarioForm"/>
    </form-beans>
    
    <global-exceptions>
    
    </global-exceptions>

    <global-forwards>
        <forward name="login" path="/login.do"/>
        <forward name="logar" path="/logar.do"/>
        <forward name="entrada" path="/entrada.do" />
    </global-forwards>

    <action-mappings>
    
        <action 
            input="/default.jsp"
            name="UsuarioForm"
            path="/logar"
            scope="request"
            type="com.appcf.actions.logar"/>

        <action 
            path="/login"
            forward="/default.jsp"/>

        <!-- action para login com sucesso -->
        <action
            path="/entrada.do"
            forward="/entrada.jsp"/>
    </action-mappings>
  
</struts-config>

E ae karinha… blz?!

Posso sugerir uma mudança no seu xml?!

Que tal fazer assim:

<action input="/default.jsp" name="UsuarioForm" path="/logar" scope="request" type="com.appcf.actions.logar">
    <forward name="success" path="/entrada.jsp"/>
    <forward name="error" path="/default.jsp" />
</action>

Ps: Eu não tenho certeza se é assim, mas acho q isso resolve…

Abs();

Fala meu querido,

eu tinha feito assim, porem o que eu quero é que na barra de endereço apareça a url com a action da entrada.do, desse jeito fica aparecendo loga.do, e na verdade ele já passou do processo de login.

fui claro?ou ta confuso ainda?
sou iniciante ainda, e esas dúvidas sempre batem.

att,

Karíssimo, blz!?

Ahhh…, entendi.

Faz assim:


<action name="UsuarioForm" path="/entrada" scope="request" type="com.appcf.actions.logar">   
    <forward name="success" path="/entrada.jsp"/>   
    <forward name="error" path="/login.do" />   
</action>  

<action name="UsuarioForm" path="/login" scope="request" type="com.appcf.actions.logar">   
    <forward name="success" path="/default.jsp"/>   
    <forward name="error" path="/erro.jsp" />   
</action>

Abs();

Fala Meu querido!!

fiz de outro jeito aqui. ficou assim o struts-config.

    <global-forwards>
        <!-- login e logoff -->
        <forward name="login" path="/login.do" redirect="true" />
        <forward name="logOff" path="/logOff.do" redirect="true" />
        <forward name="logar" path="/logar.do"/>
        <!-- fim -->

        <!-- entrada -->
        <forward name="entrada" path="/entrada.do" redirect="true" />
        <!-- fim -->
    </global-forwards>

depois de verificar o login do usuário mando um forward para entrada.do e ele redireciona certinho mudando a url para entrada.do

vlw a ajuda galera!!!