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".
|
protected Log |
logger |
| Constructor and Description |
|---|
LocaleChangeInterceptor() |
| Modifier and Type | Method and Description |
|---|---|
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()
Return whether to use BCP 47 language tags instead of Java's legacy
locale specification format.
|
protected java.util.Locale |
parseLocaleValue(java.lang.String locale)
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)
Specify whether to parse request parameter values as BCP 47 language tags
instead of Java's legacy locale specification format.
|
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
public void setParamName(java.lang.String paramName)
public java.lang.String getParamName()
public void setHttpMethods(java.lang.String... httpMethods)
httpMethods - the methodspublic java.lang.String[] getHttpMethods()
public void setIgnoreInvalidLocale(boolean ignoreInvalidLocale)
public boolean isIgnoreInvalidLocale()
public void setLanguageTagCompliant(boolean languageTagCompliant)
false.
Note: This mode requires JDK 7 or higher. Set this flag to true
for BCP 47 compliance on JDK 7+ only.
Locale.forLanguageTag(String),
Locale.toLanguageTag()public boolean isLanguageTagCompliant()
public 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.ServletException@UsesJava7 protected java.util.Locale parseLocaleValue(java.lang.String locale)
The default implementation calls StringUtils.parseLocaleString(String)
or JDK 7's Locale.forLanguageTag(String), depending on the
"languageTagCompliant" configuration property.
locale - the locale value to parseLocale instance