public class LocaleChangeInterceptor extends Object implements HandlerInterceptor
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)
Intercept the execution of a handler.
|
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.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
afterCompletion, 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
HandlerInterceptor
DispatcherServlet processes a handler in an execution chain, consisting of any number of interceptors, with the handler itself at the end. With this method, each interceptor can decide to abort the execution chain, typically sending an HTTP error or writing a custom response.
Note: special considerations apply for asynchronous
request processing. For more details see
AsyncHandlerInterceptor
.
The default implementation returns true
.
preHandle
in interface HandlerInterceptor
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