|
|
|
@ -1,5 +1,5 @@ |
|
|
|
|
/* |
|
|
|
|
* Copyright 2002-2018 the original author or authors. |
|
|
|
|
* Copyright 2002-2019 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. |
|
|
|
@ -44,8 +44,8 @@ import org.springframework.web.util.UriUtils; |
|
|
|
|
* URI template in which case the URI template variables will be replaced with |
|
|
|
|
* values from the model or with URI variables from the current request. |
|
|
|
|
* |
|
|
|
|
* <p>By default {@link HttpStatus#SEE_OTHER} is used but alternate status |
|
|
|
|
* codes may be via constructor or setters arguments. |
|
|
|
|
* <p>By default {@link HttpStatus#SEE_OTHER} is used but alternate status codes |
|
|
|
|
* may be via constructor or setters arguments. |
|
|
|
|
* |
|
|
|
|
* @author Sebastien Deleuze |
|
|
|
|
* @author Rossen Stoyanchev |
|
|
|
@ -56,10 +56,10 @@ public class RedirectView extends AbstractUrlBasedView { |
|
|
|
|
private static final Pattern URI_TEMPLATE_VARIABLE_PATTERN = Pattern.compile("\\{([^/]+?)\\}"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private boolean contextRelative = true; |
|
|
|
|
|
|
|
|
|
private HttpStatus statusCode = HttpStatus.SEE_OTHER; |
|
|
|
|
|
|
|
|
|
private boolean contextRelative = true; |
|
|
|
|
|
|
|
|
|
private boolean propagateQuery = false; |
|
|
|
|
|
|
|
|
|
@Nullable |
|
|
|
@ -91,22 +91,6 @@ public class RedirectView extends AbstractUrlBasedView { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Whether to interpret a given redirect URLs that starts with a slash ("/") |
|
|
|
|
* as relative to the current context path ({@code true}, the default) or to |
|
|
|
|
* the web server root ({@code false}). |
|
|
|
|
*/ |
|
|
|
|
public void setContextRelative(boolean contextRelative) { |
|
|
|
|
this.contextRelative = contextRelative; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Whether to interpret URLs as relative to the current context path. |
|
|
|
|
*/ |
|
|
|
|
public boolean isContextRelative() { |
|
|
|
|
return this.contextRelative; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Set an alternate redirect status code such as |
|
|
|
|
* {@link HttpStatus#TEMPORARY_REDIRECT} or |
|
|
|
@ -124,6 +108,22 @@ public class RedirectView extends AbstractUrlBasedView { |
|
|
|
|
return this.statusCode; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Whether to interpret a given redirect URLs that starts with a slash ("/") |
|
|
|
|
* as relative to the current context path ({@code true}, the default) or to |
|
|
|
|
* the web server root ({@code false}). |
|
|
|
|
*/ |
|
|
|
|
public void setContextRelative(boolean contextRelative) { |
|
|
|
|
this.contextRelative = contextRelative; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Whether to interpret URLs as relative to the current context path. |
|
|
|
|
*/ |
|
|
|
|
public boolean isContextRelative() { |
|
|
|
|
return this.contextRelative; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Whether to append the query string of the current URL to the redirect URL |
|
|
|
|
* ({@code true}) or not ({@code false}, the default). |
|
|
|
|