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

视图控制器

这是定义ParameterizableViewController那立即 在调用时转发到 View。您可以在没有 Java 控制器的静态情况下使用它 在 View 生成响应之前运行的 logic 来运行。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"/>

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