Nic*_*lai 5 java spring-mvc interceptor
我想编写一个 Spring MVC HandlerInterceptorAdaptor,它根据 HttpResponse 是否是重定向在 postHandle() 方法中执行不同的操作。
这可能吗,如果可以,怎么办?
public class MenuInterceptor extends HandlerInterceptorAdapter {
public final void postHandle(HttpServletRequest request,
HttpServletResponse response,
Object handler,
ModelAndView modelAndView) throws SystemException {
if (redirect) {
// do somethnig
} else {
// do something else
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:有没有比这更好的方法:
if (modelAndView.getView() instanceof RedirectView || modelAndView.getViewName().startsWith("redirect:")) {
// Do something
} else {
// Do something else
}
Run Code Online (Sandbox Code Playgroud)
在 Spring MVC 中,控制器通常通过返回 aView或RedirectView以前缀开头的 String viewName来发送重定向redirect:。您可以轻松检查其中任何一个。