Class AcceptHeaderLocaleResolver
- java.lang.Object
- org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver
- All Implemented Interfaces:
LocaleResolver
public class AcceptHeaderLocaleResolver extends Object implements LocaleResolver
LocaleResolverimplementation 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.- Since:
- 27.02.2003
- Author:
- Juergen Hoeller, Rossen Stoyanchev
- See Also:
ServletRequest.getLocale()
Constructor Summary
Constructors Constructor Description AcceptHeaderLocaleResolver()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LocalegetDefaultLocale()The configured default locale, if any.List<Locale>getSupportedLocales()Return the configured list of supported locales.LocaleresolveLocale(HttpServletRequest request)Resolve the current locale via the given request.voidsetDefaultLocale(Locale defaultLocale)Configure a fixed default locale to fall back on if the request does not have an "Accept-Language" header.voidsetLocale(HttpServletRequest request, HttpServletResponse response, Locale locale)Set the current locale to the given one.voidsetSupportedLocales(List<Locale> locales)Configure supported locales to check against the requested locales determined viaServletRequest.getLocales().
Constructor Detail
AcceptHeaderLocaleResolver
public AcceptHeaderLocaleResolver()
Method Detail
setSupportedLocales
public void setSupportedLocales(List<Locale> locales)
Configure supported locales to check against the requested locales determined viaServletRequest.getLocales(). If this is not configured thenServletRequest.getLocale()is used instead.- Parameters:
locales- the supported locales- Since:
- 4.3
getSupportedLocales
public List<Locale> getSupportedLocales()
Return the configured list of supported locales.- Since:
- 4.3
setDefaultLocale
public void setDefaultLocale(@Nullable Locale defaultLocale)
Configure a fixed default locale to fall back on if the request does not have an "Accept-Language" header.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().- Parameters:
defaultLocale- the default locale to use- Since:
- 4.3
getDefaultLocale
@Nullable public Locale getDefaultLocale()
The configured default locale, if any.This method may be overridden in subclasses.
- Since:
- 4.3
resolveLocale
public Locale resolveLocale(HttpServletRequest request)
Description copied from interface:LocaleResolverResolve the current locale via the given request. Can return a default locale as fallback in any case.- Specified by:
resolveLocalein interfaceLocaleResolver- Parameters:
request- the request to resolve the locale for- Returns:
- the current locale (never
null)
setLocale
public void setLocale(HttpServletRequest request, @Nullable HttpServletResponse response, @Nullable Locale locale)
Description copied from interface:LocaleResolverSet the current locale to the given one.- Specified by:
setLocalein interfaceLocaleResolver- Parameters:
request- the request to be used for locale modificationresponse- the response to be used for locale modificationlocale- the new locale, ornullto clear the locale