Credo di aver risolto.
In sintesi:
Struts.xml
codice:
...
<interceptor name="check" class="it.mypackage.CheckInterceptor"></interceptor>
...
<action name="myAction" class="it.mypackage.ShowListAction">
<interceptor-ref name="check" />
<result name="success">....</result>
</action>
<action name="actionToCall" class="it.mypackage.MySecondAction">
<result name="success">....</result>
</action>
<global-results>
...
<result name="intTest" type="redirectAction">
<param name="actionName">actionToCall</param>
</result>
...
</global-results>
CheckInterceptor.java
codice:
public class CheckInterceptor implements Interceptor {
@Override
public void destroy() {
}
@Override
public void init() {
}
@Override
public String intercept(ActionInvocation invocation) throws Exception {
try {
// se testToVerify == true -> viene invocata la action "actionToCall"
if (testToVerify){
return "intTest";
}
// else
return invocation.invoke();
} catch (Exception e) {
logger.error("Error", e);
throw e;
}
}
}