Java 类org.springframework.web.servlet.mvc.ParameterizableViewController 实例源码

项目:spring4-understanding    文件:MvcNamespaceTests.java   
@Test
public void testViewControllersDefaultConfig() {
    loadBeanDefinitions("mvc-config-view-controllers-minimal.xml", 7);

    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());
}
项目:cas-5.1.0    文件:CasApplicationContextConfiguration.java   
@Bean
protected Controller rootController() {
    return new ParameterizableViewController() {
        @Override
        protected ModelAndView handleRequestInternal(final HttpServletRequest request, final HttpServletResponse response) 
                throws Exception {
            final String queryString = request.getQueryString();
            final String url = request.getContextPath() + "/login" + (queryString != null ? '?' + queryString : StringUtils.EMPTY);
            return new ModelAndView(new RedirectView(response.encodeURL(url)));
        }
    };
}
项目:cas-5.1.0    文件:CasWebAppConfiguration.java   
@Bean
protected Controller rootController() {
    return new ParameterizableViewController() {
        @Override
        protected ModelAndView handleRequestInternal(final HttpServletRequest request,
                                                     final HttpServletResponse response)
                throws Exception {
            final String queryString = request.getQueryString();
            final String url = request.getContextPath() + "/login"
                    + (queryString != null ? '?' + queryString : StringUtils.EMPTY);
            return new ModelAndView(new RedirectView(response.encodeURL(url)));
        }

    };
}
项目:TARA-Server    文件:CasWebAppConfiguration.java   
@Bean
protected Controller rootController() {
    return new ParameterizableViewController() {
        protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
            String queryString = request.getQueryString();
            String url = request.getContextPath() + "/login" + (queryString != null ? '?' + queryString : "");
            return new ModelAndView(new RedirectView(response.encodeURL(url)));
        }
    };
}
项目:spring4-understanding    文件:ViewControllerRegistryTests.java   
@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());
}
项目:spring4-understanding    文件:ViewControllerRegistryTests.java   
@Test
public void addViewControllerWithDefaultViewName() {
    this.registry.addViewController("/path");
    ParameterizableViewController controller = getController("/path");

    assertNull(controller.getViewName());
    assertNull(controller.getStatusCode());
    assertFalse(controller.isStatusOnly());
    assertNotNull(controller.getApplicationContext());
}
项目:spring4-understanding    文件:ViewControllerRegistryTests.java   
@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());
}
项目:spring4-understanding    文件:ViewControllerRegistryTests.java   
private RedirectView getRedirectView(String path) {
    ParameterizableViewController controller = getController(path);
    assertNull(controller.getViewName());
    assertNotNull(controller.getView());
    assertEquals(RedirectView.class, controller.getView().getClass());
    return (RedirectView) controller.getView();
}
项目:haven-platform    文件:WelcomePageHandlerMapping.java   
WelcomePageHandlerMapping(Collection<String> paths) {
    ParameterizableViewController controller = new ParameterizableViewController();
    controller.setViewName("forward:" + target);
    paths.forEach(path -> registerHandler(path, controller));
    //we handle only non handled resources, but resource handler (which has LOWEST_PRECEDENCE - 1) handle all
    setOrder(LOWEST_PRECEDENCE - 10);
}
项目:class-guard    文件:ViewControllerBeanDefinitionParser.java   
public BeanDefinition parse(Element element, ParserContext parserContext) {
    Object source = parserContext.extractSource(element);

    // Register SimpleUrlHandlerMapping for view controllers
    BeanDefinition handlerMappingDef = registerHandlerMapping(parserContext, source);

    // Ensure BeanNameUrlHandlerMapping (SPR-8289) and default HandlerAdapters are not "turned off"
    MvcNamespaceUtils.registerDefaultComponents(parserContext, source);

    // Create view controller bean definition
    RootBeanDefinition viewControllerDef = new RootBeanDefinition(ParameterizableViewController.class);
    viewControllerDef.setSource(source);
    if (element.hasAttribute("view-name")) {
        viewControllerDef.getPropertyValues().add("viewName", element.getAttribute("view-name"));
    }
    Map<String, BeanDefinition> urlMap;
    if (handlerMappingDef.getPropertyValues().contains("urlMap")) {
        urlMap = (Map<String, BeanDefinition>) handlerMappingDef.getPropertyValues().getPropertyValue("urlMap").getValue();
    }
    else {
        urlMap = new ManagedMap<String, BeanDefinition>();
        handlerMappingDef.getPropertyValues().add("urlMap", urlMap);
    }
    urlMap.put(element.getAttribute("path"), viewControllerDef);

    return null;
}
项目:class-guard    文件:ViewControllerRegistryTests.java   
@Test
public void addViewController() {
    registry.addViewController("/path");
    Map<String, ?> urlMap = getHandlerMapping().getUrlMap();
    ParameterizableViewController controller = (ParameterizableViewController) urlMap.get("/path");
    assertNotNull(controller);
    assertNull(controller.getViewName());
}
项目:class-guard    文件:ViewControllerRegistryTests.java   
@Test
public void addViewControllerWithViewName() {
    registry.addViewController("/path").setViewName("viewName");
    Map<String, ?> urlMap = getHandlerMapping().getUrlMap();
    ParameterizableViewController controller = (ParameterizableViewController) urlMap.get("/path");
    assertNotNull(controller);
    assertEquals("viewName", controller.getViewName());
}
项目:spring4-understanding    文件:ViewControllerRegistration.java   
protected ParameterizableViewController getViewController() {
    return this.controller;
}
项目:spring4-understanding    文件:RedirectViewControllerRegistration.java   
protected ParameterizableViewController getViewController() {
    return this.controller;
}
项目:spring4-understanding    文件:ViewControllerBeanDefinitionParser.java   
@Override
@SuppressWarnings("unchecked")
public BeanDefinition parse(Element element, ParserContext parserContext) {
    Object source = parserContext.extractSource(element);

    // Register SimpleUrlHandlerMapping for view controllers
    BeanDefinition hm = registerHandlerMapping(parserContext, source);

    // Ensure BeanNameUrlHandlerMapping (SPR-8289) and default HandlerAdapters are not "turned off"
    MvcNamespaceUtils.registerDefaultComponents(parserContext, source);

    // Create view controller bean definition
    RootBeanDefinition controller = new RootBeanDefinition(ParameterizableViewController.class);
    controller.setSource(source);

    HttpStatus statusCode = null;
    if (element.hasAttribute("status-code")) {
        int statusValue = Integer.valueOf(element.getAttribute("status-code"));
        statusCode = HttpStatus.valueOf(statusValue);
    }

    String name = element.getLocalName();
    if (name.equals("view-controller")) {
        if (element.hasAttribute("view-name")) {
            controller.getPropertyValues().add("viewName", element.getAttribute("view-name"));
        }
        if (statusCode != null) {
            controller.getPropertyValues().add("statusCode", statusCode);
        }
    }
    else if (name.equals("redirect-view-controller")) {
        controller.getPropertyValues().add("view", getRedirectView(element, statusCode, source));
    }
    else if (name.equals("status-controller")) {
        controller.getPropertyValues().add("statusCode", statusCode);
        controller.getPropertyValues().add("statusOnly", true);
    }
    else {
        // Should never happen...
        throw new IllegalStateException("Unexpected tag name: " + name);
    }

    Map<String, BeanDefinition> urlMap;
    if (hm.getPropertyValues().contains("urlMap")) {
        urlMap = (Map<String, BeanDefinition>) hm.getPropertyValues().getPropertyValue("urlMap").getValue();
    }
    else {
        urlMap = new ManagedMap<String, BeanDefinition>();
        hm.getPropertyValues().add("urlMap", urlMap);
    }
    urlMap.put(element.getAttribute("path"), controller);

    return null;
}
项目:spring4-understanding    文件:ParameterizableViewControllerTests.java   
@Before
public void setUp() throws Exception {
    this.controller = new ParameterizableViewController();
    this.request = new MockHttpServletRequest("GET", "/");
    this.response = new MockHttpServletResponse();
}
项目:spring4-understanding    文件:ViewControllerRegistryTests.java   
private ParameterizableViewController getController(String path) {
    Map<String, ?> urlMap = getHandlerMapping().getUrlMap();
    ParameterizableViewController controller = (ParameterizableViewController) urlMap.get(path);
    assertNotNull(controller);
    return controller;
}
项目:class-guard    文件:ViewControllerRegistration.java   
/**
 * Returns the view controllers.
 */
protected Object getViewController() {
    ParameterizableViewController controller = new ParameterizableViewController();
    controller.setViewName(viewName);
    return controller;
}