假设在一个 struts 2 动作中有多个嵌套的拦截器:
- 富
- 酒吧
- 巴兹
- 酒吧
每个拦截器都在他们的intercept()
方法中执行以下操作
String result = invocation.invoke();
return result;
什么时候invocation.invoke()
被调用,这个会调用intercept()
队列中下一个拦截器的方法,还是真的会调用该action.execute()
方法?
例如,如果foo
有invocation.invoke()
,会调用bar.intercept()
还是会调用action.execute()
?
如果是后者,那么我该怎么做才能让bar.intercept()
或baz.intercept()
(如果从 bar 拦截器调用)在调用之前调用action.execute()
,即所有拦截器都在调用之前运行action.execute()
?