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

        
main