Interceptor no Struts 2

2 respostas
D

Pessoal…

Dá pra criar um Interceptor do Struts 2 e setar ele para todas as actions?

Criei algo assim:

<interceptors>
  <interceptor name="auth" class="LoginInterceptor" />
	
  <interceptor-stack name="defaultAuthStack">
                <interceptor-ref name="exception"/>
                <interceptor-ref name="alias"/>
                <interceptor-ref name="auth" />
                <interceptor-ref name="prepare"/>
                <interceptor-ref name="servlet-config"/>
                <interceptor-ref name="i18n"/>
                <interceptor-ref name="chain"/>
                <interceptor-ref name="model-driven"/>
                <interceptor-ref name="fileUpload"/>
                <interceptor-ref name="static-params"/>
                <interceptor-ref name="params"/>
                <interceptor-ref name="conversionError"/>
                <interceptor-ref name="validation"/>
                <interceptor-ref name="workflow"/>
  </interceptor-stack>
</interceptors>

<default-interceptor-ref name="defaultAuthStack" />

Porém minhas Actions estão Anotadas, não existe configuração no struts.xml para elas…

Porém desta forma, não estou conseguindo com q o Interceptor seja chamado…

Como gritaria o Ozzy…
“Can you help me?”

Até

2 Respostas

D

Ok… depois d suar um pouco consegui…

Se alguem um dia precisar…

Tipo… no struts.xml

<package name="meuPacote" extends="struts-default">
  <interceptors>
    <interceptor name="security" class="pacote.MeuSecurityInterceptor" />
    <interceptor-stack name="meuStack">
      <interceptor-ref name="security" />
      <interceptor-ref name="defaultStack" />
    </interceptor-stack>
  </interceptors>
  <default-interceptor-ref name="meuStack" />
</package>

O detalhe que faltava na action: ParentPackage

@Results({
  @Result(name = SUCCESS, value = "index.jsp") 
})
@ParentPackage("meuPacote")
public class Index {

  public String execute() {
    return SUCCESS;
  }

}
marcio.rga

bacana!

nunca tinha trabalhado com anotações no struts2…
fiquei me perguntando como colocar o interceptor para as actions…
valeu pela dica!

ahh… aproveitando o embalo, já que estamos falando de struts2.
Você sabe se é possível manipular componentes html na minha action?

algo tipo:

TabbedPanel myTabbedPanel = (TabbedPanel) page.get(“myTabbedPanelID”);

//setar algo no componente
myTabbedPanel.setDisabled(“myTabbedPanelTAG”);

Abraços!!!

Criado 14 de janeiro de 2008
Ultima resposta 6 de fev. de 2008
Respostas 2
Participantes 2