Deprecate ignoreDefaultModelOnRedirect property
Closes gh-28324
This commit is contained in:
@@ -176,7 +176,7 @@ public class RequestMappingHandlerAdapter extends AbstractHandlerMethodAdapter
|
||||
|
||||
private ReactiveAdapterRegistry reactiveAdapterRegistry = ReactiveAdapterRegistry.getSharedInstance();
|
||||
|
||||
private boolean ignoreDefaultModelOnRedirect = false;
|
||||
private boolean ignoreDefaultModelOnRedirect = true;
|
||||
|
||||
private int cacheSecondsForSessionAttributeHandlers = 0;
|
||||
|
||||
@@ -465,7 +465,7 @@ public class RequestMappingHandlerAdapter extends AbstractHandlerMethodAdapter
|
||||
}
|
||||
|
||||
/**
|
||||
* By default the content of the "default" model is used both during
|
||||
* By default, the content of the "default" model is used both during
|
||||
* rendering and redirect scenarios. Alternatively a controller method
|
||||
* can declare a {@link RedirectAttributes} argument and use it to provide
|
||||
* attributes for a redirect.
|
||||
@@ -474,10 +474,12 @@ public class RequestMappingHandlerAdapter extends AbstractHandlerMethodAdapter
|
||||
* 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} but new applications should
|
||||
* consider setting it to {@code true}.
|
||||
* <p>As of 6.0, this property is set to {@code true} by default.
|
||||
* @see RedirectAttributes
|
||||
* @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;
|
||||
}
|
||||
@@ -848,6 +850,7 @@ public class RequestMappingHandlerAdapter extends AbstractHandlerMethodAdapter
|
||||
* @since 4.2
|
||||
* @see #createInvocableHandlerMethod(HandlerMethod)
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
@Nullable
|
||||
protected ModelAndView invokeHandlerMethod(HttpServletRequest request,
|
||||
HttpServletResponse response, HandlerMethod handlerMethod) throws Exception {
|
||||
|
||||
@@ -74,7 +74,8 @@ public class AnnotationDrivenBeanDefinitionParserTests {
|
||||
((ConfigurableWebBindingInitializer) initializer).getMessageCodesResolver();
|
||||
assertThat(resolver).isNotNull();
|
||||
assertThat(resolver.getClass()).isEqualTo(TestMessageCodesResolver.class);
|
||||
assertThat(new DirectFieldAccessor(adapter).getPropertyValue("ignoreDefaultModelOnRedirect")).asInstanceOf(BOOLEAN).isFalse();
|
||||
assertThat(new DirectFieldAccessor(adapter).getPropertyValue("ignoreDefaultModelOnRedirect"))
|
||||
.asInstanceOf(BOOLEAN).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -211,7 +211,8 @@ public class MvcNamespaceTests {
|
||||
|
||||
RequestMappingHandlerAdapter adapter = appContext.getBean(RequestMappingHandlerAdapter.class);
|
||||
assertThat(adapter).isNotNull();
|
||||
assertThat(new DirectFieldAccessor(adapter).getPropertyValue("ignoreDefaultModelOnRedirect")).asInstanceOf(BOOLEAN).isFalse();
|
||||
assertThat(new DirectFieldAccessor(adapter).getPropertyValue("ignoreDefaultModelOnRedirect"))
|
||||
.asInstanceOf(BOOLEAN).isTrue();
|
||||
|
||||
List<HttpMessageConverter<?>> converters = adapter.getMessageConverters();
|
||||
assertThat(converters.size() > 0).isTrue();
|
||||
|
||||
@@ -199,7 +199,7 @@ public class WebMvcConfigurationSupportExtensionTests {
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Test
|
||||
public void requestMappingHandlerAdapter() throws Exception {
|
||||
public void requestMappingHandlerAdapter() {
|
||||
RequestMappingHandlerAdapter adapter = this.config.requestMappingHandlerAdapter(
|
||||
this.config.mvcContentNegotiationManager(), this.config.mvcConversionService(),
|
||||
this.config.mvcValidator());
|
||||
@@ -241,7 +241,7 @@ public class WebMvcConfigurationSupportExtensionTests {
|
||||
(DeferredResultProcessingInterceptor[]) fieldAccessor.getPropertyValue("deferredResultInterceptors");
|
||||
assertThat(deferredResultInterceptors.length).isEqualTo(1);
|
||||
|
||||
assertThat(fieldAccessor.getPropertyValue("ignoreDefaultModelOnRedirect")).asInstanceOf(BOOLEAN).isFalse();
|
||||
assertThat(fieldAccessor.getPropertyValue("ignoreDefaultModelOnRedirect")).asInstanceOf(BOOLEAN).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -146,8 +146,6 @@ public class ModelAndViewMethodReturnValueHandlerTests {
|
||||
|
||||
@Test // SPR-14045
|
||||
public void handleRedirectWithIgnoreDefaultModel() throws Exception {
|
||||
mavContainer.setIgnoreDefaultModelOnRedirect(true);
|
||||
|
||||
RedirectView redirectView = new RedirectView();
|
||||
ModelAndView mav = new ModelAndView(redirectView, "name", "value");
|
||||
handler.handleReturnValue(mav, returnParamModelAndView, mavContainer, webRequest);
|
||||
|
||||
@@ -135,7 +135,6 @@ public class RequestMappingHandlerAdapterTests {
|
||||
|
||||
this.handlerAdapter.setArgumentResolvers(Arrays.asList(redirectAttributesResolver, modelResolver));
|
||||
this.handlerAdapter.setReturnValueHandlers(Collections.singletonList(viewHandler));
|
||||
this.handlerAdapter.setIgnoreDefaultModelOnRedirect(true);
|
||||
this.handlerAdapter.afterPropertiesSet();
|
||||
|
||||
this.request.setAttribute(DispatcherServlet.OUTPUT_FLASH_MAP_ATTRIBUTE, new FlashMap());
|
||||
|
||||
Reference in New Issue
Block a user