Erro no Interceptor do struts 2

9 respostas
filipeandrep

Prezados,

estou precisando criar um interceptor para login. Após ter criado a classe para o mesmo quando eu adiciono o código no struts.xml a aplicação não roda. Segue o trecho do código:

<global-results>
            <result name="login">/login.jsp</result>
            <result name="error">/error.jsp</result>
            <result name="rootException">/error.jsp</result>
        </global-results>
        
        <interceptors>
            <interceptor name="login" class="br.gov.inca.publico.interceptor.LoginInterceptor" />
            <interceptor-stack name="stackLogin">
                <interceptor-ref name="login" />
            </interceptor-stack>
        </interceptors>
        
        
        <default-action-ref name="prepararLogin" />

9 Respostas

luiz_ross
Vc esta referenciando seu interceptor dentro do bloco de declaração da sua action?

&lt;action name="cadastroProjeto!*" class="br.com.blabla.gepro.action.CadastroProjetoAction" method="{1}"&gt; &lt;result name="success" type="tiles"&gt;gepro.cadastro.projeto&lt;/result&gt; &lt;result name="detalhe_projeto" type="tiles"&gt;gepro.cadastro.detalhe.projeto&lt;/result&gt; &lt;interceptor-ref name="loginInterceptor" /&gt; &lt;/action&gt;

T

a primeira vista não vejo nada de errado… Posta o mapeamento da action …

T

a primeira vista não vejo nada de errado… Posta o mapeamento da action … E qual o retorno? Gera exceção?

filipeandrep

naum… mas a não declaração inicial faz com que a aplicação não seja iniciada???

T

putz recliquei sem querer… e não vi que o companheiro tinha respondido… sorry…

filipeandrep

naum… mas a não declaração inicial faz com que a aplicação não seja iniciada???

filipeandrep

eu não estava querendo utilizar em cada action, gostaria de colocar um interceptor default:

T

vc pode extender o pacote default de interceptors…

keller

Voce tem que remover os metodos que sao passiveis de login:

&lt;action name="myAction" class="myActionClass"&gt;
  &lt;interceptor-ref name="defaultStack"&gt;
    &lt;param name="validation.excludeMethods"&gt;myValidationExcludeMethod&lt;/param&gt;
    &lt;param name="workflow.excludeMethods"&gt;myWorkflowExcludeMethod&lt;/param&gt;
  &lt;/interceptor-ref&gt;
  ....
&lt;/action&gt;

De uma olhada aqui:
http://struts.apache.org/2.0.6/docs/interceptors.html

Boa sorte! :thumbup:

Criado 30 de julho de 2007
Ultima resposta 30 de jul. de 2007
Respostas 9
Participantes 4