JFinal在線手冊
/ Before
Before
Before 注解用來對攔截器進(jìn)行配置,該注解可配置 Class、Method 級別的攔截器,以下是 代碼示例:
如上代碼所示,Before 可以將攔截器配置為 Class 級別與 Method 級別,前者將攔截本類 中所有方法,后者僅攔截本方法。此外 Before 可以同時配置多個攔截器,只需用在大括號內(nèi) 用逗號將多個攔截器進(jìn)行分隔即可。
除了 Class 與 Method 級別的攔截器以外,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)某個 Method 被多個級別的攔截器所攔截,攔截器各級別執(zhí)行的次序依次為:Global、 Inject、Class、Method,如果同級中有多個攔截器,那么同級中的執(zhí)行次序是:配置在前面的 先執(zhí)行。