4.3 Before

2022-07-11 10:15 更新

Before 注解用來(lái)對(duì)攔截器進(jìn)行配置,該注解可配置 Class、Method 級(jí)別的攔截器,以下是 代碼示例:

JFinal手冊(cè)

如上代碼所示,Before 可以將攔截器配置為 Class 級(jí)別與 Method 級(jí)別,前者將攔截本類 中所有方法,后者僅攔截本方法。此外 Before 可以同時(shí)配置多個(gè)攔截器,只需用在大括號(hào)內(nèi) 用逗號(hào)將多個(gè)攔截器進(jìn)行分隔即可。

除了 Class 與 Method 級(jí)別的攔截器以外,JFinal 還支持全局?jǐn)r截器以及 Inject 攔截器(Inject

攔截將在后面介紹),全局?jǐn)r截器分為控制層全局?jǐn)r截器與業(yè)務(wù)層全局?jǐn)r截器,前者攔截控制 層所有 Action 方法,后者攔截業(yè)務(wù)層所有方法。

全局?jǐn)r截器需要在 YourJFinalConfig 進(jìn)行配置,以下是配置示例:

public class AppConfig extends JFinalConfig {
	public void configInterceptor(Interceptors me) {
	// 添加控制層全局?jǐn)r截器
	me.addGlobalActionInterceptor(new GlobalActionInterceptor());
 
	// 添加業(yè)務(wù)層全局?jǐn)r截器
	me.addGlobalServiceInterceptor(new GlobalServiceInterceptor());
 
	// 為兼容老版本保留的方法,功能與addGlobalActionInterceptor完全一樣
	me.add(new GlobalActionInterceptor());
	}
}

當(dāng)某個(gè) Method 被多個(gè)級(jí)別的攔截器所攔截,攔截器各級(jí)別執(zhí)行的次序依次為:Global、 Inject、Class、Method,如果同級(jí)中有多個(gè)攔截器,那么同級(jí)中的執(zhí)行次序是:配置在前面的 先執(zhí)行。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)