对于最新的稳定版本,请使用 Spring Framework 7.0.6!spring-doc.cadn.net.cn

视图控制器

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

以下Java配置示例将对/的请求转发到名为home的视图:spring-doc.cadn.net.cn

@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {

	@Override
	public void addViewControllers(ViewControllerRegistry registry) {
		registry.addViewController("/").setViewName("home");
	}
}
@Configuration
@EnableWebMvc
class WebConfig : WebMvcConfigurer {

	override fun addViewControllers(registry: ViewControllerRegistry) {
		registry.addViewController("/").setViewName("home")
	}
}

以下示例通过使用XML和<mvc:view-controller>元素实现了与前面示例相同的效果:spring-doc.cadn.net.cn

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

如果一个@RequestMapping方法被映射到任何HTTP方法的URL,则不能使用视图控制器来处理相同的URL。这是因为通过URL匹配到注解控制器被认为是一个足够强烈的端点所有权指示,因此可以向客户端发送405(METHOD_NOT_ALLOWED)、415(UNSUPPORTED_MEDIA_TYPE)或类似的响应以帮助调试。因此,建议避免将URL处理拆分到注解控制器和视图控制器之间。spring-doc.cadn.net.cn