public class LocaleChangeInterceptor extends HandlerInterceptorAdapter
LocaleResolver
Modifier and Type | Field and Description |
---|---|
static String |
DEFAULT_PARAM_NAME
Default name of the locale specification parameter: "locale".
|
protected Log |
logger |
Constructor and Description |
---|
LocaleChangeInterceptor() |
Modifier and Type | Method and Description |
---|---|
String[] |
getHttpMethods()
Return the configured HTTP methods.
|
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 Locale |
parseLocaleValue(String localeValue)
Parse the given locale value as coming from a request parameter.
|
boolean |
preHandle(HttpServletRequest request,
HttpServletResponse response,
Object handler)
This implementation always returns
true . |
void |
setHttpMethods(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(String paramName)
Set the name of the parameter that contains a locale specification
in a locale change request.
|
afterCompletion, afterConcurrentHandlingStarted, postHandle
public static final String DEFAULT_PARAM_NAME
protected final Log logger
public void setParamName(String paramName)
public String getParamName()
public void setHttpMethods(@Nullable String... httpMethods)
httpMethods
- the methods@Nullable public 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, Object handler) throws ServletException
HandlerInterceptorAdapter
true
.preHandle
in interface HandlerInterceptor
preHandle
in class HandlerInterceptorAdapter
request
- 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.ServletException
@Nullable protected Locale parseLocaleValue(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