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"); } }