[RESOLVIDO]Struts2 - Uso de Interceptor não seta os valores na minha Action!

Fala feras :smiley:

Tenho um default interceptor para cada package e se eu usar ele, os valores dos inputs não são setados no objeto que existe dentro da minha Action. Preciso fazer alguma configuração adicional?

Abs

Opaaa, boa tarde

poderia ser um pouco mais claro ? =D … tipo … o que vc esta tentando fazer ?? qual o resultado que espera ??

nao deu pra entender muito bem … abrasss

O que não deu pra entender?

Simples, quando ele entra na minha action, minhas variáveis estão nulas e todos os campos estão preenchidos na tela. Se eu remover a declaração do Interceptor, funciona normal.

O que eu tento fazer é um fluxo normal do Struts2: clico no botão, ele cai no interceptor para verificar se o usuário está ligado e se estiver tudo ok, eu mando para a Action. Ele chega na Action, mas os meus objetos estão todos nulos.

Hummm … saquei … manda o codigo ai do teu interceptor !! vamo analisa, talvez possa ser algo nele … .quem sabe

Abrasss

public class LoginInterceptor implements Interceptor {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public void destroy() {
		// TODO Auto-generated method stub
		
	}

	public void init() {
		// TODO Auto-generated method stub
		
	}

	public String intercept(ActionInvocation actionInvocation) throws Exception {
		Map<String, Object> session = actionInvocation.getInvocationContext().getSession();
		ValidacaoLoginTO validacaoLoginTO = (ValidacaoLoginTO) session.get("validacaoLoginTO");
		if(validacaoLoginTO == null){
			return "logar";
		} else {
			return actionInvocation.invoke();
		}
		
	}

}

E o meu struts.xml, está da seguinte maneira:

<package name="usuario" namespace="/usuario" extends="struts-default">
 	<!--
   <interceptors>
	   <interceptor name="loginInterceptor" class="com.xx.parkingrio.login.interceptor.LoginInterceptor" />
	   <interceptor-stack name="stackLogin">
       		<interceptor-ref name="loginInterceptor" />
	   </interceptor-stack>
    </interceptors>
 	
	<default-interceptor-ref name="stackLogin" />  
	
 	<global-results>
	    <result name="logar">/pages/login/login.jsp</result>
    </global-results>
...
</package>

Ola, estou começando a estudar Struts 2 agora e estou com o mesmo problema, alguem sabe o que pode ser?

É acho que descobri o problema, oc4j bugado…

http://www.guj.com.br/posts/list/30/45264.java

Hm…mas estou utilizando o jboss!

O estranho é o interceptor me boicotar :frowning:

Opaa, desculpe a demora

muito estranho isso cara … ta igual eu normalmente faço :S … tentou atualizar as libs todas ??? pega o Struts blank … sei la … ta usando o ultimo release ???

Abs

Sim, ta igual ao struts blank…é estranho mesmo

Vc pode me mandar a sua declaração do Struts.xml e o seu Interceptor, por favor?

Resolvido :D:D

O problema era que faltava declarar uma tag:

   <interceptors>
	   <interceptor name="loginInterceptor" class="com.oesia.parkingrio.login.interceptor.LoginInterceptor" />
	   <interceptor-stack name="stackLogin">
       		<interceptor-ref name="loginInterceptor" />
       		<interceptor-ref name="defaultStack"/>
	   </interceptor-stack>
    </interceptors>

Se essa defaultStack, ele não entrava no restante do processo.

Estava com o mesmo problema e a dica do @padcoe resolveu o problema.