View Controllers

    这是一个定义 ParameterizableViewController 的快捷方式,当调用时立即转发到视图。你可以在静态情况下使用它,在视图产生响应之前没有 Java 控制器逻辑需要运行。

    下面这个 Java 配置的例子将一个对/的请求转发到一个叫做 home 的视图:

    1. @Configuration
    2. @EnableWebMvc
    3. public class WebConfig implements WebMvcConfigurer {
    4. @Override
    5. public void addViewControllers(ViewControllerRegistry registry) {
    6. registry.addViewController("/").setViewName("home");
    7. }
    8. }

    下面的例子通过使用 <mvc:view-controller>元素,实现了与前面的例子相同的事情,但使用了 XML:

    1. <mvc:view-controller path="/" view-name="home"/>

    如果一个 @RequestMapping方法被映射到任何 HTTP 方法的 URL 上,那么视图控制器就不能被用来处理同一个 URL。这是因为通过 URL 与注解控制器的匹配被认为是一个足够强大的端点所有权的指示,所以 405(METHOD_NOT_ALLOWED),415(UNSUPPORTED_MEDIA_TYPE),或类似的响应可以被发送到客户端以帮助调试。出于这个原因,我们建议避免将 URL 处理拆分到一个注解控制器和一个视图控制器。