下面列出了org.springframework.web.servlet.ModelAndView#hasView ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView mav) {
HttpSession session = request.getSession();
if (session != null) {
Message message = (Message) session.getAttribute(Message.ATTRIBUTE_KEY);
if (message != null && !mav.getModelMap().containsKey(Message.ATTRIBUTE_KEY)) {
mav.addObject(Message.ATTRIBUTE_KEY, message);
}
boolean shouldRemove = true;
if (mav.hasView() && mav.getView() instanceof RedirectView) {
shouldRemove = false;
}
if (mav.getViewName() != null && mav.getViewName().startsWith("redirect:")) {
shouldRemove = false;
}
if (shouldRemove) {
session.removeAttribute(Message.ATTRIBUTE_KEY);
}
}
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
if (modelAndView == null || !modelAndView.hasView()) {
return;
}
String originalViewName = modelAndView.getViewName();
if (isRedirectOrForward(originalViewName)) {
return;
}
modelAndView.setViewName(DEFAULT_LAYOUT);
modelAndView.addObject(DEFAULT_VIEW_ATTRIBUTE_NAME, originalViewName);
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
if (modelAndView == null || !modelAndView.hasView()) {
return;
}
String originalViewName = modelAndView.getViewName();
if (isRedirectOrForward(originalViewName)) {
return;
}
String layoutName = getLayoutName(handler);
modelAndView.setViewName(layoutName);
modelAndView.addObject(this.viewAttributeName, originalViewName);
}