视图控制器
这是一个用于定义ParameterizableViewController的快捷方式,调用时会立即跳转到对应的视图。在没有Java控制器逻辑需要在视图生成响应之前执行的情况下,你可以在静态场景中使用它。
以下示例将对“/”的请求转发到一个名为“home”的视图:
- Java
- Kotlin
- Xml
@Configuration
public class WebConfiguration implements WebMvcConfigurer {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("home");
}
}
@Configuration
class WebConfiguration : WebMvcConfigurer {
override fun addViewControllers(registry: ViewControllerRegistry) {
registry.addViewController("/").setViewName("home")
}
}
<mvc:view-controller path="/" view-name="home"/>
如果一个@RequestMapping方法被映射到任何HTTP方法的URL上,那么就不能使用视图控制器(view controller)来处理同一个URL。这是因为通过URL与带注解的控制器(annotated controller)进行匹配,被认为是一种足够明确的端点所有权(endpoint ownership)指示,因此可以向客户端发送405(METHOD_NOT_ALLOWED)、415(UNSUPPORTED_MEDIA_TYPE)或类似的响应,以帮助调试。基于这个原因,建议避免将URL处理任务分散在带注解的控制器和视图控制器之间进行。