public class LocaleChangeInterceptor extends HandlerInterceptorAdapter
LocaleResolver| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
DEFAULT_PARAM_NAME
Default name of the locale specification parameter: "locale".
|
private java.lang.String[] |
httpMethods |
private boolean |
ignoreInvalidLocale |
protected Log |
logger |
private java.lang.String |
paramName |
| Constructor and Description |
|---|
LocaleChangeInterceptor() |
| Modifier and Type | Method and Description |
|---|---|
private boolean |
checkHttpMethod(java.lang.String currentMethod) |
java.lang.String[] |
getHttpMethods()
Return the configured HTTP methods.
|
java.lang.String |
getParamName()
Return the name of the parameter that contains a locale specification
in a locale change request.
|
boolean |
isIgnoreInvalidLocale()
Return whether to ignore an invalid value for the locale parameter.
|
boolean |
isLanguageTagCompliant()
Deprecated.
as of 5.1 since it always returns
true now |
protected java.util.Locale |
parseLocaleValue(java.lang.String localeValue)
Parse the given locale value as coming from a request parameter.
|
boolean |
preHandle(HttpServletRequest request,
HttpServletResponse response,
java.lang.Object handler)
This implementation always returns
true. |
void |
setHttpMethods(java.lang.String... httpMethods)
Configure the HTTP method(s) over which the locale can be changed.
|
void |
setIgnoreInvalidLocale(boolean ignoreInvalidLocale)
Set whether to ignore an invalid value for the locale parameter.
|
void |
setLanguageTagCompliant(boolean languageTagCompliant)
Deprecated.
as of 5.1 since it only accepts
true now |
void |
setParamName(java.lang.String paramName)
Set the name of the parameter that contains a locale specification
in a locale change request.
|
afterCompletion, afterConcurrentHandlingStarted, postHandlepublic static final java.lang.String DEFAULT_PARAM_NAME
protected final Log logger
private java.lang.String paramName
@Nullable private java.lang.String[] httpMethods
private boolean ignoreInvalidLocale
public void setParamName(java.lang.String paramName)
public java.lang.String getParamName()
public void setHttpMethods(@Nullable java.lang.String... httpMethods)
httpMethods - the methods@Nullable public java.lang.String[] getHttpMethods()
public void setIgnoreInvalidLocale(boolean ignoreInvalidLocale)
public boolean isIgnoreInvalidLocale()
@Deprecated public void setLanguageTagCompliant(boolean languageTagCompliant)
true nowNOTE: As of 5.1, this resolver leniently accepts the legacy
Locale.toString() format as well as BCP 47 language tags.
Locale.forLanguageTag(String),
Locale.toLanguageTag()@Deprecated public boolean isLanguageTagCompliant()
true nowpublic boolean preHandle(HttpServletRequest request,
HttpServletResponse response,
java.lang.Object handler)
throws ServletException
HandlerInterceptorAdaptertrue.preHandle in interface HandlerInterceptorpreHandle in class HandlerInterceptorAdapterrequest - current HTTP requestresponse - current HTTP responsehandler - chosen handler to execute, for type and/or instance evaluationtrue if the execution chain should proceed with the
next interceptor or the handler itself. Else, DispatcherServlet assumes
that this interceptor has already dealt with the response itself.ServletExceptionprivate boolean checkHttpMethod(java.lang.String currentMethod)
@Nullable protected java.util.Locale parseLocaleValue(java.lang.String localeValue)
The default implementation calls StringUtils.parseLocale(String),
accepting the Locale.toString() format as well as BCP 47 language tags.
localeValue - the locale value to parseLocale instance