类 SessionLocaleResolver

  • 所有已实现的接口:
    LocaleContextResolver, LocaleResolver

    public class SessionLocaleResolver
    extends AbstractLocaleContextResolver
    LocaleResolver implementation that uses a locale attribute in the user's session in case of a custom setting, with a fallback to the specified default locale or the request's accept-header locale.

    This is most appropriate if the application needs user sessions anyway, i.e. when the HttpSession does not have to be created just for storing the user's locale. The session may optionally contain an associated time zone attribute as well; alternatively, you may specify a default time zone.

    Custom controllers can override the user's locale and time zone by calling #setLocale(Context) on the resolver, e.g. responding to a locale change request. As a more convenient alternative, consider using RequestContext.changeLocale(java.util.Locale).

    In contrast to CookieLocaleResolver, this strategy stores locally chosen locale settings in the Servlet container's HttpSession. As a consequence, those settings are just temporary for each session and therefore lost when each session terminates.

    Note that there is no direct relationship with external session management mechanisms such as the "Spring Session" project. This LocaleResolver will simply evaluate and modify corresponding HttpSession attributes against the current HttpServletRequest.

    从以下版本开始:
    27.02.2003
    作者:
    Juergen Hoeller
    另请参阅:
    AbstractLocaleResolver.setDefaultLocale(java.util.Locale), AbstractLocaleContextResolver.setDefaultTimeZone(java.util.TimeZone)