此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Framework 6.2.10spring-doc.cadn.net.cn

重定向属性(Redirect Attributes)

默认情况下,所有模型属性都被视为在 重定向 URL。在其余属性中,那些是原始类型或 原始类型的集合或数组会自动作为查询参数附加。spring-doc.cadn.net.cn

将原始类型属性附加为查询参数可能是所需的结果,如果 模型实例是专门为重定向准备的。但是,在注释的 控制器时,模型可以包含为渲染目的添加的其他属性(例如, 下拉字段值)。为了避免此类属性出现在 URL、一个@RequestMapping方法可以声明类型为RedirectAttributes和 使用它来指定要提供给的确切属性RedirectView.如果方法 做重定向,内容RedirectAttributes被使用。否则,内容 模型。spring-doc.cadn.net.cn

RequestMappingHandlerAdapter提供了一个名为ignoreDefaultModelOnRedirect,您可以使用它来指示默认Model如果控制器方法重定向,则永远不应使用。相反,控制器 方法应声明类型为RedirectAttributes或者,如果它不这样做, 不应将任何属性传递给RedirectView.MVC 命名空间和 MVC Java 配置将此标志设置为false,以保持向后兼容性。 但是,对于新应用程序,我们建议将其设置为true.spring-doc.cadn.net.cn

请注意,当前请求中的 URI 模板变量是自动创建的 在展开重定向 URL 时可用,并且您无需显式添加它们 通过ModelRedirectAttributes.以下示例演示如何定义重定向:spring-doc.cadn.net.cn

@PostMapping("/files/{path}")
public String upload(...) {
	// ...
	return "redirect:files/{path}";
}
@PostMapping("/files/{path}")
fun upload(...): String {
	// ...
	return "redirect:files/{path}"
}

将数据传递到重定向目标的另一种方法是使用 flash 属性。与其他 重定向属性,flash 属性保存在 HTTP 会话中(因此,不会出现 )。有关详细信息,请参阅 Flash 属性spring-doc.cadn.net.cn