memintas


Modul WebMVC adalah berdasarkan ciri baharu YMPv2.0 dan secara asli menyokong pemintasan kaedah AOP Ia dikonfigurasikan melalui anotasi berikut:

@Sebelum: digunakan untuk menetapkan pemintas hadapan kelas atau kaedah, diisytiharkan pada. pemintas akan digunakan untuk semua kaedah kelas; ;

@Clean: digunakan untuk membersihkan semua atau pemintas yang ditentukan pada kelas, pemintas yang dibersihkan tidak akan dilaksanakan

@ContextParam: digunakan untuk menetapkan parameter konteks, terutamanya digunakan untuk menghantar konfigurasi parameter kepada pemintas; : Mengisytiharkan kaedah akan mengabaikan semua konfigurasi pemintas;

Penjelasan

: Mengisytiharkan kaedah beranotasi @Abaikan, kaedah bukan awam, kaedah kelas Objek dan kaedah lebihan kelas Objek tidak akan diproses oleh pemintas.

Contoh kod:

    // 创建自定义拦截器
    public class UserSessionChecker implements IInterceptor {
        public Object intercept(InterceptContext context) throws Exception {
            // 判断当前拦截器执行方向
            if (context.getDirection().equals(Direction.BEFORE)
                    && WebContext.getRequest().getSession(false) == null) {
                return View.redirectView("/user/login");
            }
            return null;
        }
    }

    @Controller
    @RequestMapping("/user")
    @Before(UserSessionChecker.class)
    public class Controller {

        @RequestMapping("/center")
        public IView userCenter() throws Exception {
            // ......
            return View.jspView("/user/center");
        }

        @RequestMapping("/login")
        @Clean
        public IView userLogin() throws Exception {
            return View.jspView("/user/login");
        }
    }