这是一个定义 ParameterizableViewController 的快捷方式,当调用时立即转发到视图。你可以在静态情况下使用它,在视图产生响应之前没有 Java 控制器逻辑需要运行。
下面这个 Java 配置的例子将一个对/
的请求转发到一个叫做 home 的视图:
@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("home");
}
}
下面的例子通过使用 <mvc:view-controller>
元素,实现了与前面的例子相同的事情,但使用了 XML:
<mvc:view-controller path="/" view-name="home"/>
如果一个 @RequestMapping
方法被映射到任何 HTTP 方法的 URL 上,那么视图控制器就不能被用来处理同一个 URL。这是因为通过 URL 与注解控制器的匹配被认为是一个足够强大的端点所有权的指示,所以 405(METHOD_NOT_ALLOWED),415(UNSUPPORTED_MEDIA_TYPE),或类似的响应可以被发送到客户端以帮助调试。出于这个原因,我们建议避免将 URL 处理拆分到一个注解控制器和一个视图控制器。