Olá,
preciso implementar um controle de login simples e para isso gostaria de utilizar o interceptor do struts 2.
Para isso:
package *******************;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
public class LoginInterceptor extends AbstractInterceptor {
private static final long serialVersionUID = -6073110797987730212L;
@Override
public String intercept(ActionInvocation invocation) throws Exception {
System.out.println("Testando Interceptor");
return invocation.invoke();
}
}
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<!-- Configuration for the default package. -->
<package name="default" extends="struts-default">
<interceptors>
<interceptor name="loginInterceptor" class="br.mil.marinha.spi.interceptors.LoginInterceptor" />
<interceptor-stack name="sispnrStack">
<interceptor-ref name="loginInterceptor" />
<interceptor-ref name="defaultStack" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="sispnrStack" />
<global-results>
<result name="login">login.jsp</result>
</global-results>
</package>
</struts>
O problema é que
System.out.println("Testando Interceptor");
nunca é executado o que entendo como se o interceptor não estivesse sendo chamado.
Obs: Eu uso annotations do struts 2. Como isso as action e results estão configurados na propria action.
Agradeço.