org.springframework.web.servlet.i18n

Class AcceptHeaderLocaleResolver

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


    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.

    Since:
    27.02.2003
    Author:
    Juergen Hoeller, Rossen Stoyanchev
    See Also:
    ServletRequest.getLocale()
    • Constructor Detail

      • AcceptHeaderLocaleResolver

        public AcceptHeaderLocaleResolver()
    • Method Detail

      • setSupportedLocales

        public void setSupportedLocales(java.util.List<java.util.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 java.util.List<java.util.Locale> getSupportedLocales()
        Return the configured list of supported locales.
        Since:
        4.3
      • setDefaultLocale

        public void setDefaultLocale(@Nullable
                                     java.util.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 java.util.Locale getDefaultLocale()
        The configured default locale, if any.
        Since:
        4.3
      • resolveLocale

        public java.util.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
                              java.util.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