public class AcceptHeaderLocaleResolver extends java.lang.Object implements LocaleResolver
LocaleResolver
implementation that simply uses the primary locale
specified in the "accept-language" header of the HTTP request (that is,
the locale sent by the client browser, normally that of the client's OS).
Note: Does not support setLocale
, since the accept header
can only be changed through changing the client's locale settings.
ServletRequest.getLocale()
Constructor and Description |
---|
AcceptHeaderLocaleResolver() |
Modifier and Type | Method and Description |
---|---|
java.util.Locale |
getDefaultLocale()
The configured default locale, if any.
|
java.util.List<java.util.Locale> |
getSupportedLocales()
Return the configured list of supported locales.
|
java.util.Locale |
resolveLocale(HttpServletRequest request)
Resolve the current locale via the given request.
|
void |
setDefaultLocale(java.util.Locale defaultLocale)
Configure a fixed default locale to fall back on if the request does not
have an "Accept-Language" header.
|
void |
setLocale(HttpServletRequest request,
HttpServletResponse response,
java.util.Locale locale)
Set the current locale to the given one.
|
void |
setSupportedLocales(java.util.List<java.util.Locale> locales)
Configure supported locales to check against the requested locales
determined via
ServletRequest.getLocales() . |
public void setSupportedLocales(@Nullable java.util.List<java.util.Locale> locales)
ServletRequest.getLocales()
. If this is not
configured then ServletRequest.getLocale()
is used instead.locales
- the supported localespublic java.util.List<java.util.Locale> getSupportedLocales()
public void setDefaultLocale(@Nullable java.util.Locale defaultLocale)
By default this is not set in which case when there is "Accept-Language"
header, the default locale for the server is used as defined in
ServletRequest.getLocale()
.
defaultLocale
- the default locale to use@Nullable public java.util.Locale getDefaultLocale()
public java.util.Locale resolveLocale(HttpServletRequest request)
LocaleResolver
resolveLocale
in interface LocaleResolver
request
- the request to resolve the locale fornull
)public void setLocale(HttpServletRequest request, @Nullable HttpServletResponse response, @Nullable java.util.Locale locale)
LocaleResolver
setLocale
in interface LocaleResolver
request
- the request to be used for locale modificationresponse
- the response to be used for locale modificationlocale
- the new locale, or null
to clear the locale