public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
	if (!modelAndView.hasView()) {
		return;
	}
	String originalViewName = modelAndView.getViewName();
	modelAndView.setViewName(DEFAULT_LAYOUT);
	modelAndView.addObject(DEFAULT_VIEW_ATTRIBUTE_NAME, originalViewName);
}  

        

public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
	if (!modelAndView.hasView()) {
		return;
	}
	String originalViewName = modelAndView.getViewName();
	if (isRedirectOrForward(originalViewName)) {
		return;
	}
	String layoutName = getLayoutName(handler);
	modelAndView.setViewName(layoutName);
	modelAndView.addObject(this.viewAttributeName, originalViewName);
}

        

public void postHandle(HttpServletRequest request,
		HttpServletResponse response, Object handler,
		ModelAndView modelAndView) throws Exception {

	boolean isRedirectView = modelAndView.getView() instanceof RedirectView;
	boolean isViewObject = modelAndView.getView() == null;
	// if the view name is null then set a default value of true
	boolean viewNameStartsWithRedirect = (modelAndView.getViewName() == null ? true : 	modelAndView.getViewName().startsWith(UrlBasedViewResolver.REDIRECT_URL_PREFIX));

	if(modelAndView.hasView() && (
			( isViewObject && !isRedirectView) ||
			(!isViewObject && !viewNameStartsWithRedirect))){
		addCommonModelData(modelAndView);
	}
}

        

public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
    if (modelAndView == null || !modelAndView.hasView()) {
        return;
    }

    String originalViewName = modelAndView.getViewName();
    if (originalViewName.startsWith("redirect:") || originalViewName.startsWith("forward:")) {
        return;
    }
    modelAndView.setViewName(LayoutFile);
    modelAndView.addObject(ReturnedHtmlFile,originalViewName);
}

        

protected void render(ModelAndView mv, HttpServletRequest request,
 HttpServletResponse response) throws Exception {
 // Determine locale for request and apply it to the response.
 Locale locale = this.localeResolver.resolveLocale(request);
 response.setLocale(locale);
 View view = null;
 // Do we need view name translation?
 if (!mv.hasView()) {
 mv.setViewName(getDefaultViewName(request));
 }
 if (mv.isReference()) {
 // We need to resolve the view name.
 view = resolveViewName(mv.getViewName(), mv.getModelInternal(),
 locale, request);
 if (view == null) {
 throw new ServletException("Could not resolve view... ");
 }
 }
 else {
 // No need to lookup: the ModelAndView object contains the
 // actual View object.
 view = mv.getView();
 if (view == null) {
 throw new ServletException("ModelAndView ... neither contains a view
name nor a View object in Servlet... ");
 }
 }
 //debug msgs
 view.render(mv.getModelInternal(), request, response); 

        

@GetMapping(
		path = {"/oauth2.0/authorize"}
)
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
	J2EContext context = WebUtils.getPac4jJ2EContext(request, response);
	ProfileManager manager = WebUtils.getPac4jProfileManager(request, response);
	if(this.verifyAuthorizeRequest(request) && isRequestAuthenticated(manager, context)) {
		String clientId = context.getRequestParameter("client_id");
		OAuthRegisteredService registeredService = this.getRegisteredServiceByClientId(clientId);
		try {
			RegisteredServiceAccessStrategyUtils.ensureServiceAccessIsAllowed(clientId, registeredService);
		} catch (Exception var8) {
			LOGGER.error(var8.getMessage(), var8);
			return OAuth20Utils.produceUnauthorizedErrorView();
		}
		ModelAndView mv = this.consentApprovalViewResolver.resolve(context, registeredService);
		return !mv.isEmpty() && mv.hasView()?mv:this.redirectToCallbackRedirectUrl(manager, registeredService, context, clientId);
	} else {
		LOGGER.error("Authorize request verification failed");
		return OAuth20Utils.produceUnauthorizedErrorView();
	}
}

        

public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
	boolean isRedirectView = modelAndView!=null && modelAndView.getView() instanceof RedirectView;
	//boolean isViewObject = modelAndView.getView() == null;
	// if the view name is null then set a default value of true
	boolean viewNameStartsWithRedirect = (modelAndView!=null && modelAndView.getViewName() == null ? true
			: modelAndView!=null && modelAndView.getViewName().startsWith(UrlBasedViewResolver.REDIRECT_URL_PREFIX));
	if (modelAndView!=null && modelAndView.hasView() && !isRedirectView && !viewNameStartsWithRedirect) {
		addCommonModelData(modelAndView);
	}
}

        

public void testHandlerReturnsMap() throws Exception {
	Map model = new HashMap();
	model.put("message", "Hello World!");

	MultiActionController mac = new ModelOnlyMultiActionController(model);

	MockHttpServletRequest request = new MockHttpServletRequest("GET", "/welcome.html");
	MockHttpServletResponse response = new MockHttpServletResponse();
	ModelAndView mav = mac.handleRequest(request, response);

	assertNotNull("ModelAndView cannot be null", mav);
	assertFalse("ModelAndView should not have a view", mav.hasView());
	assertEquals(model, mav.getModel());
}

        

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

        

public View resolveView(HttpServletRequest request, ModelAndView mv)
		throws ViewResolutionException {

	if (mv.hasView() && !mv.isReference()) {
		return mv.getView();
	}
	return resolveView(request, mv.getViewName());
}        
main