Struts 2, interceptadores e perda de valores

Olá amigos,
Estou com um problema estranhíssimo no Struts 2:
fiz um jsp com <s:form> apontando para minha action. Funcionou perfeitamente. Consigo recuperar na action os valores inseridos no jsp. O problema é que coloquei um interceptador simples, que até agora só dá um System.out.println(), e a action passou a não recuperar mais os valores do jsp.
Ou seja:

  • Sem interceptador os valores inseridos na tela chegam na action, e eu consigo propagar para demais camadas do sistema.
  • Com interceptador os valores inseridos na tela NÃO chegam mais na action.
    O interceptador é um interceptador simples:

package br.org.df.adasa.sirh.action.interceptor;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

public class LogInterceptor extends AbstractInterceptor{

@Override
public String intercept(ActionInvocation invocation) throws Exception {
	System.out.println("intercepted action");
	return invocation.invoke();
}

}

Alguém pode ajudar?

Sávio Barros

nossa cara… tb teria a mesma duvida, vamos ver o que o pessoal diz ai !!

Já aconteceu isso com vc?

Vc tem q verificar no interceptor-stack, se vc está colocando o defaultStack. Esse defaultStack é padrão do struts2 e vem com componentes responsável por carregar os campos do form.

Oi,
Onde fica o “interceptor-stack”? Vou te passar como estou usando:
no struts. xml:

principal.tiles

Onde vai o interceptor-stack?

[]´s

Sávio Barros

Então esse é o problema, vc não definiu o stack do seu interceptor. Qdo vc definir tem que colocar o defaultStack, pq senão ele não é chamado. O mapeamento fica assim :

[code]<interceptors>  
       <interceptor name="reqInterceptor" class="br.gov.df.adasa.outorga.action.ReqInterceptor"/> 
	     
                <interceptor-stack name="aplicacaoStack">  
	         <interceptor-ref name="reqInterceptor" />  
	         <interceptor-ref name="defaultStack" />  
	     </interceptor-stack>  
</interceptors>
	
<default-interceptor-ref name="aplicacaoStack" />[/code]

Faz o teste.
No site do struts fala sobre isso :

http://struts.apache.org/2.0.11.2/docs/how-do-we-configure-an-interceptor-to-be-used-with-every-action.html