Deprecate ignoreDefaultModelOnRedirect property

Closes gh-28324
This commit is contained in:
rstoyanchev
2022-09-14 18:13:38 +01:00
parent 250880bf90
commit f3c082abac
10 changed files with 82 additions and 217 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2021 the original author or authors.
* Copyright 2002-2022 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -49,7 +49,7 @@ import org.springframework.web.bind.support.SimpleSessionStatus;
*/
public class ModelAndViewContainer {
private boolean ignoreDefaultModelOnRedirect = false;
private boolean ignoreDefaultModelOnRedirect = true;
@Nullable
private Object view;
@@ -83,8 +83,11 @@ public class ModelAndViewContainer {
* is not declared. Setting it to {@code false} means the "default" model
* may be used in a redirect if the controller method doesn't declare a
* RedirectAttributes argument.
* <p>The default setting is {@code false}.
* <p>As of 6.0, this property is set to {@code true} by default.
* @deprecated as of 6.0 without a replacement; once removed, the default
* model will always be ignored on redirect
*/
@Deprecated
public void setIgnoreDefaultModelOnRedirect(boolean ignoreDefaultModelOnRedirect) {
this.ignoreDefaultModelOnRedirect = ignoreDefaultModelOnRedirect;
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2019 the original author or authors.
* Copyright 2002-2022 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -58,7 +58,9 @@ public class ModelAndViewContainerTests {
}
@Test
@SuppressWarnings("deprecation")
public void redirectScenarioWithoutRedirectModel() {
this.mavContainer.setIgnoreDefaultModelOnRedirect(false);
this.mavContainer.addAttribute("name", "value");
this.mavContainer.setRedirectModelScenario(true);
@@ -68,7 +70,6 @@ public class ModelAndViewContainerTests {
@Test
public void ignoreDefaultModel() {
this.mavContainer.setIgnoreDefaultModelOnRedirect(true);
this.mavContainer.addAttribute("name", "value");
this.mavContainer.setRedirectModelScenario(true);
@@ -77,7 +78,6 @@ public class ModelAndViewContainerTests {
@Test // SPR-14045
public void ignoreDefaultModelAndWithoutRedirectModel() {
this.mavContainer.setIgnoreDefaultModelOnRedirect(true);
this.mavContainer.setRedirectModelScenario(true);
this.mavContainer.addAttribute("name", "value");