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()
Return whether to use BCP 47 language tags instead of Java's legacy
 locale specification format. 
 | 
protected Locale | 
parseLocaleValue(String locale)
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)
Specify whether to parse request parameter values as BCP 47 language tags
 instead of Java's legacy locale specification format. 
 | 
void | 
setParamName(String paramName)
Set the name of the parameter that contains a locale specification
 in a locale change request. 
 | 
afterCompletion, afterConcurrentHandlingStarted, postHandlepublic static final String DEFAULT_PARAM_NAME
protected final Log logger
public void setParamName(String paramName)
public String getParamName()
public void setHttpMethods(String... httpMethods)
httpMethods - the methodspublic 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, 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 Locale parseLocaleValue(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