Before 註解用來對攔截器進行配置,該註解可配置 Class、Method 層級的攔截器,以下是程式碼範例:


1475634939249992.png



##如上程式碼所示,Before 可以將攔截器配置為Class 級別與 Method 級別,前者將攔截本類別中所有方法,後者僅攔截本方法。此外 Before 可以同時配置多個攔截器,只需用在大括號內 用逗號將多個攔截器分隔即可。 ######除了 Class 與 Method 等級的攔截器以外,JFinal 也支援###全域攔截器###以及 Inject 攔截器(Inject######攔截將在後面介紹),全域攔截器分為控制層全域攔截器與業務層全域攔截器,前者攔截控制層所有 Action 方法,後者攔截業務層所有方法。 ######全域攔截器需要在 YourJFinalConfig 進行配置,以下是設定範例:############
public class AppConfig extends JFinalConfig {
	public void configInterceptor(Interceptors me) {
	// 添加控制层全局拦截器
	me.addGlobalActionInterceptor(new GlobalActionInterceptor());
 
	// 添加业务层全局拦截器
	me.addGlobalServiceInterceptor(new GlobalServiceInterceptor());
 
	// 为兼容老版本保留的方法,功能与addGlobalActionInterceptor完全一样
	me.add(new GlobalActionInterceptor());
	}
}
############當某個Method 被多個層級的攔截器所攔截,攔截器各層級執行的次序依序為:Global、 Inject、Class、Method,如果同級中有多個攔截器,那麼同級中的執行次序是:配置在前面的先執行。 ######