Re: WebWork

5 respostas
volnei

Tente algo assim:

public class InterceptorX implements Interceptor{
   public String intercept(ActionInvocation invocation) throws Exception {
      String result = invocation.invoke();
      //Nesse momento sua action já foi invocada, mais você ainda pode fazer algum tratamento antes de dar um retorno do seu interceptor, ou seja, antes de renderizar a página.
      return result;

   }
   
   public void init() { }
   public void destroy() { }
}

Você ainda pode extender a classe AroundInterceptor e implementar o método after(...), só que dessa forma não é mais possível mudar o fluxo da aplicação.

Espero tê-lo ajudado,
[]'s

5 Respostas

_fs

Pode usar um chaining interceptor.

volnei

New__Radical:
Olá Volnei,

É justamente esse o problema.
Tava pensando que fazendo do jeito que vc postou, dava certo. Ae comecei a ter problemas, e coloquei um Break Point aqui String result = invocation.invoke();.

Quando eu dou um F6 no eclipse, e executa a Action, qnd eu volto pro browser a página já foi exibida.

Eu queria executar a Action, saber o resultado, e depois continuar a execução do Interceptor, e colocar uns dados que poderão ou não ser vistos pelo usuário, dependendo do retorno da action.

Mas dessa maneira que ta o código em cima, não dá certo. Pode ser que eu dando um extends na classe que vc falou, funcione.

Vou testar! :wink:

Você deve ter feito algo de errado, pois o retorno que é dado depende do retorno do interceptor. :roll:

smota

Yeah … tem algo errado ai, os interceptors sao todos executados ANTES da execucao do RESULT, mesmo pq qualquer interceptor pode alterar o result.

N

Como usar um interceptor, depois da action ser executada e antes da página ser renderizada?

N

Olá Volnei,

É justamente esse o problema.
Tava pensando que fazendo do jeito que vc postou, dava certo. Ae comecei a ter problemas, e coloquei um Break Point aqui String result = invocation.invoke();.

Quando eu dou um F6 no eclipse, e executa a Action, qnd eu volto pro browser a página já foi exibida.

Eu queria executar a Action, saber o resultado, e depois continuar a execução do Interceptor, e colocar uns dados que poderão ou não ser vistos pelo usuário, dependendo do retorno da action.

Mas dessa maneira que ta o código em cima, não dá certo. Pode ser que eu dando um extends na classe que vc falou, funcione.

Vou testar! :wink:

Criado 19 de dezembro de 2004
Ultima resposta 19 de dez. de 2004
Respostas 5
Participantes 4