JFinal Online-Handbuch
/ Before
Before
Before 注解用來對(duì)攔截器進(jìn)行配置,該注解可配置 Class、Method 級(jí)別的攔截器,以下是 代碼示例:
如上代碼所示,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í)行。