视图控制器
这是一种定义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,则无法使用视图控制器来处理相同的 URL。这是因为通过 URL 与带注释的控制器的匹配被认为是端点所有权的足够强的指示,因此可以向客户端发送 405(METHOD_NOT_ALLOWED)、415(UNSUPPORTED_MEDIA_TYPE)或类似的响应以帮助调试。因此,建议避免在带注释的控制器和视图控制器之间拆分 URL 处理。