Class AcceptHeaderLocaleResolver

java.lang.Object
org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver
All Implemented Interfaces:
LocaleResolver

public class AcceptHeaderLocaleResolver extends 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.

Since:
27.02.2003
Author:
Juergen Hoeller, Rossen Stoyanchev
See Also:
  • Constructor Details

    • AcceptHeaderLocaleResolver

      public AcceptHeaderLocaleResolver()
  • Method Details

    • setSupportedLocales

      public void setSupportedLocales(List<Locale> locales)
      Configure supported locales to check against the requested locales determined via ServletRequest.getLocales(). If this is not configured then ServletRequest.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 no "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: LocaleResolver
      Resolve the current locale via the given request. Can return a default locale as fallback in any case.
      Specified by:
      resolveLocale in interface LocaleResolver
      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: LocaleResolver
      Set the current locale to the given one.
      Specified by:
      setLocale in interface LocaleResolver
      Parameters:
      request - the request to be used for locale modification
      response - the response to be used for locale modification
      locale - the new locale, or null to clear the locale