/** * Return the name of the view to delegate to, or {@code null} if using a * View instance. */ @Nullable public String getViewName() { if (this.view instanceof String) { String viewName = (String) this.view; if (getStatusCode() != null && getStatusCode().is3xxRedirection()) { return viewName.startsWith("redirect:") ? viewName : "redirect:" + viewName; } else { return viewName; } } return null; }
/** * Return the name of the view to delegate to, or {@code null} if using a * View instance. */ @Nullable public String getViewName() { if (this.view instanceof String) { String viewName = (String) this.view; if (getStatusCode() != null && getStatusCode().is3xxRedirection()) { return viewName.startsWith("redirect:") ? viewName : "redirect:" + viewName; } else { return viewName; } } return null; }
if (getStatusCode() != null) { if (getStatusCode().is3xxRedirection()) { request.setAttribute(View.RESPONSE_STATUS_ATTRIBUTE, getStatusCode()); response.setStatus(getStatusCode().value()); if (getStatusCode().equals(HttpStatus.NO_CONTENT) && viewName == null) { return null;
if (getStatusCode() != null) { if (getStatusCode().is3xxRedirection()) { request.setAttribute(View.RESPONSE_STATUS_ATTRIBUTE, getStatusCode()); response.setStatus(getStatusCode().value()); if (getStatusCode().equals(HttpStatus.NO_CONTENT) && viewName == null) { return null;
@Test public void testViewControllersDefaultConfig() { loadBeanDefinitions("mvc-config-view-controllers-minimal.xml"); SimpleUrlHandlerMapping hm = this.appContext.getBean(SimpleUrlHandlerMapping.class); assertNotNull(hm); ParameterizableViewController viewController = (ParameterizableViewController) hm.getUrlMap().get("/path"); assertNotNull(viewController); assertEquals("home", viewController.getViewName()); ParameterizableViewController redirectViewController = (ParameterizableViewController) hm.getUrlMap().get("/old"); assertNotNull(redirectViewController); assertThat(redirectViewController.getView(), Matchers.instanceOf(RedirectView.class)); ParameterizableViewController statusViewController = (ParameterizableViewController) hm.getUrlMap().get("/bad"); assertNotNull(statusViewController); assertEquals(404, statusViewController.getStatusCode().value()); BeanNameUrlHandlerMapping beanNameMapping = this.appContext.getBean(BeanNameUrlHandlerMapping.class); assertNotNull(beanNameMapping); assertEquals(2, beanNameMapping.getOrder()); }
@Test public void addViewControllerWithDefaultViewName() { this.registry.addViewController("/path"); ParameterizableViewController controller = getController("/path"); assertNull(controller.getViewName()); assertNull(controller.getStatusCode()); assertFalse(controller.isStatusOnly()); assertNotNull(controller.getApplicationContext()); }
@Test public void addStatusController() { this.registry.addStatusController("/path", HttpStatus.NOT_FOUND); ParameterizableViewController controller = getController("/path"); assertNull(controller.getViewName()); assertEquals(HttpStatus.NOT_FOUND, controller.getStatusCode()); assertTrue(controller.isStatusOnly()); assertNotNull(controller.getApplicationContext()); }
@Test public void addViewController() { this.registry.addViewController("/path").setViewName("viewName"); ParameterizableViewController controller = getController("/path"); assertEquals("viewName", controller.getViewName()); assertNull(controller.getStatusCode()); assertFalse(controller.isStatusOnly()); assertNotNull(controller.getApplicationContext()); }
if (isStatusOnly() || (getStatusCode().equals(HttpStatus.NO_CONTENT) && getViewName() == null)) { return null;