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