我初学SSH,看到拦截器的部分,发现源码里有这样一段:
[注:这是纯java,与web无关]
代码如下:
if (interceptors.hasNext()) {
final InterceptorMapping interceptor = (InterceptorMapping) interceptors.next();
UtilTimerStack.profile("interceptor: "+interceptor.getName(),
new UtilTimerStack.ProfilingBlock<String>() {
public String doProfiling() throws Exception {
// 将ActionInvocation作为参数,调用interceptor中的intercept方法执行
resultCode = interceptor.getInterceptor().intercept(DefaultActionInvocation.this); //问题在这!!!
return null;
}
});
} else {
resultCode = invokeActionOnly();
}
我特别注意到:
这段代码里有一句
resultCode = interceptor.getInterceptor().intercept(DefaultActionInvocation.this);
于是,开始提问:
问题1:resultCode = interceptor.getInterceptor().intercept(DefaultActionInvocation.this); 中,
DefaultActionInvocation.this是什么意思???有没有作用,我没明白。
或者换句话说,
对一个普通的public class A(),
在class B中来一个
class B{
function(){
method(A.this);
}
}
这有什么作用或说意思 ?这指的是什么 ?
----------------------------分割线-----------