Java 类org.springframework.web.servlet.LocaleResolver 实例源码

项目:helium    文件:IdiomaInterceptor.java   
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws ServletException {
    if (request.getUserPrincipal() != null) {
        String codiIdioma = request.getParameter(this.paramName);

        if (codiIdioma != null) {
            personaService.savePrefIdioma(codiIdioma);
            LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);
            if (localeResolver == null)
                throw new IllegalStateException  ("No LocaleResolver found: not in a DispatcherServlet request?");
            LocaleEditor localeEditor = new LocaleEditor();
            localeEditor.setAsText(codiIdioma);
            localeResolver.setLocale(request, response, (Locale)localeEditor.getValue());
        }
    }
    return true;
}
项目:oma-riista-web    文件:LanguageChangeController.java   
@RequestMapping(value = "/api/v1/language", method = RequestMethod.POST)
public String changeLanguage(@ModelAttribute("lang") String language,
                             HttpServletRequest request, HttpServletResponse response) {
    final LocaleResolver localeResolver = getLocaleResolver(request);
    final Locale locale = StringUtils.parseLocaleString(language);

    if (locale != null) {
        localeResolver.setLocale(request, response, locale);

        return locale.toLanguageTag();
    }

    LOG.error("Could not parse language={}", language);

    return localeResolver.resolveLocale(request).toLanguageTag();
}
项目:spring4-understanding    文件:AbstractTagTests.java   
protected MockPageContext createPageContext() {
    MockServletContext sc = new MockServletContext();
    SimpleWebApplicationContext wac = new SimpleWebApplicationContext();
    wac.setServletContext(sc);
    wac.setNamespace("test");
    wac.refresh();

    MockHttpServletRequest request = new MockHttpServletRequest(sc);
    MockHttpServletResponse response = new MockHttpServletResponse();
    if (inDispatcherServlet()) {
        request.setAttribute(DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE, wac);
        LocaleResolver lr = new AcceptHeaderLocaleResolver();
        request.setAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE, lr);
        ThemeResolver tr = new FixedThemeResolver();
        request.setAttribute(DispatcherServlet.THEME_RESOLVER_ATTRIBUTE, tr);
        request.setAttribute(DispatcherServlet.THEME_SOURCE_ATTRIBUTE, wac);
    }
    else {
        sc.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, wac);
    }

    return new MockPageContext(sc, request, response);
}
项目:diablo    文件:LocaleInterceptor.java   
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

    LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);
    if (localeResolver == null) {
        return true;
    }

    try {
        Cookie[] cookies = request.getCookies();
        if (cookies != null){
            for (Cookie cookie : cookies){
                if (Objects.equal("lang", cookie.getName())){
                    LocaleContextHolder.setLocale(new Locale(cookie.getValue()));
                }
            }
        }
    } catch (Exception e) {
        Logs.error("occur errors when resolve locale: {}", Throwables.getStackTraceAsString(e));
    }

    return true;
}
项目:Javakit    文件:LocaleChangeInterceptorWrapper.java   
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws ServletException {
    String newLocale = request.getParameter(getParamName());
    if(newLocale != null) {
        LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);
        if(localeResolver == null) {
            throw new IllegalStateException("No LocaleResolver found: not in a DispatcherServlet request?");
        }

        Locale locale = StringUtils.parseLocaleString(newLocale);
        localeResolver.setLocale(request, response, locale);
        localeHolder.setLocale(locale);
    }

    return true;
}
项目:jeecms6    文件:AdminLocaleInterceptor.java   
@Override
public boolean preHandle(HttpServletRequest request,
        HttpServletResponse response, Object handler)
        throws ServletException {
    LocaleResolver localeResolver = RequestContextUtils
            .getLocaleResolver(request);
    if (localeResolver == null) {
        throw new IllegalStateException(
                "No LocaleResolver found: not in a DispatcherServlet request?");
    }
//  CmsSite site = CmsUtils.getSite(request);
    CmsSite site=CmsThreadVariable.getSite();
    String newLocale = site.getLocaleAdmin();
    LocaleEditor localeEditor = new LocaleEditor();
    localeEditor.setAsText(newLocale);
    localeResolver.setLocale(request, response, (Locale) localeEditor
            .getValue());
    // Proceed in any case.
    return true;
}
项目:jeecms6    文件:FrontLocaleInterceptor.java   
@Override
public boolean preHandle(HttpServletRequest request,
        HttpServletResponse response, Object handler)
        throws ServletException {
    LocaleResolver localeResolver = RequestContextUtils
            .getLocaleResolver(request);
    if (localeResolver == null) {
        throw new IllegalStateException(
                "No LocaleResolver found: not in a DispatcherServlet request?");
    }
    CmsSite site = CmsUtils.getSite(request);
    String newLocale = site.getLocaleFront();
    LocaleEditor localeEditor = new LocaleEditor();
    localeEditor.setAsText(newLocale);
    localeResolver.setLocale(request, response, (Locale) localeEditor
            .getValue());
    // Proceed in any case.
    return true;
}
项目:jeecms6    文件:MessageResolver.java   
/**
 * 获得国际化信息
 * 
 * @param request
 *            HttpServletRequest
 * @param code
 *            国际化代码
 * @param args
 *            替换参数
 * @return
 * @see org.springframework.context.MessageSource#getMessage(String,
 *      Object[], Locale)
 */
public static String getMessage(HttpServletRequest request, String code,
        Object... args) {
    WebApplicationContext messageSource = RequestContextUtils.getWebApplicationContext(request);
    if (messageSource == null) {
        throw new IllegalStateException("WebApplicationContext not found!");
    }
    LocaleResolver localeResolver = RequestContextUtils
            .getLocaleResolver(request);
    Locale locale;
    if (localeResolver != null) {
        locale = localeResolver.resolveLocale(request);
    } else {
        locale = request.getLocale();
    }
    return messageSource.getMessage(code, args, locale);
}
项目:summerb    文件:ForceLocaleToCoockieInterceptor.java   
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
        throws Exception {
    LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);

    // Check if it's our case
    if (localeResolver == null) {
        throw new IllegalStateException("No LocaleResolver found: not in a DispatcherServlet request?");
    }
    if (!(localeResolver instanceof CookieLocaleResolver)) {
        return true;
    }

    // Check if locale not in cookie.
    // If so, then force it to store in cookie
    CookieLocaleResolver cookieLocaleResolver = (CookieLocaleResolver) localeResolver;
    Cookie cookie = WebUtils.getCookie(request, cookieLocaleResolver.getCookieName());
    if (cookie == null) {
        cookieLocaleResolver.setLocale(request, response, localeResolver.resolveLocale(request));
    }

    return true;
}
项目:summerb    文件:ForceLocaleToCoockieUserAwareInterceptor.java   
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
        throws Exception {
    LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);

    // Check if it's our case
    if (localeResolver == null) {
        throw new IllegalStateException("No LocaleResolver found: not in a DispatcherServlet request?");
    }
    if (!(localeResolver instanceof LocaleResolverUserBasedImpl)) {
        return true;
    }

    // Check if locale not in cookie.
    // If so, then force it to store in cookie
    LocaleResolverUserBasedImpl cookieLocaleResolver = (LocaleResolverUserBasedImpl) localeResolver;
    Locale localeFromCookie = cookieLocaleResolver.resolveLocaleFromCookie(request);
    Locale localeFromUser = cookieLocaleResolver.resolveLocale(request);
    if (localeFromUser != null && !localeFromUser.equals(localeFromCookie)) {
        cookieLocaleResolver.setLocale(request, response, localeFromUser);
    }

    return true;
}
项目:summerb    文件:CurrentRequestUtils.java   
/**
 * Get locale for curent request
 * 
 * @return
 */
public static Locale getLocale() {
    // Plan A: Try to get it from locale context holder
    Locale locale = LocaleContextHolder.getLocale();
    if (locale != null) {
        return locale;
    }

    // Plan B: Try to get it from request
    HttpServletRequest request = get();
    LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);
    if (localeResolver == null) {
        log.warn("Cannot get locale resolver. Will fallback to: " + defaultLocale);
        return defaultLocale;
    }
    locale = localeResolver.resolveLocale(request);
    if (locale != null) {
        return locale;
    }

    // fallback
    log.warn("Cannot resolve locale. Will fallback to: " + defaultLocale);
    return defaultLocale;
}
项目:class-guard    文件:AbstractTagTests.java   
protected MockPageContext createPageContext() {
    MockServletContext sc = new MockServletContext();
    sc.addInitParameter("springJspExpressionSupport", "true");
    SimpleWebApplicationContext wac = new SimpleWebApplicationContext();
    wac.setServletContext(sc);
    wac.setNamespace("test");
    wac.refresh();

    MockHttpServletRequest request = new MockHttpServletRequest(sc);
    MockHttpServletResponse response = new MockHttpServletResponse();
    if (inDispatcherServlet()) {
        request.setAttribute(DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE, wac);
        LocaleResolver lr = new AcceptHeaderLocaleResolver();
        request.setAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE, lr);
        ThemeResolver tr = new FixedThemeResolver();
        request.setAttribute(DispatcherServlet.THEME_RESOLVER_ATTRIBUTE, tr);
        request.setAttribute(DispatcherServlet.THEME_SOURCE_ATTRIBUTE, wac);
    }
    else {
        sc.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, wac);
    }

    return new MockPageContext(sc, request, response);
}
项目:class-guard    文件:LocaleResolverTests.java   
private void internalTest(LocaleResolver localeResolver, boolean shouldSet) {
    // create mocks
    MockServletContext context = new MockServletContext();
    MockHttpServletRequest request = new MockHttpServletRequest(context);
    request.addPreferredLocale(Locale.UK);
    MockHttpServletResponse response = new MockHttpServletResponse();
    // check original locale
    Locale locale = localeResolver.resolveLocale(request);
    assertEquals(locale, Locale.UK);
    // set new locale
    try {
        localeResolver.setLocale(request, response, Locale.GERMANY);
        if (!shouldSet)
            fail("should not be able to set Locale");
        // check new locale
        locale = localeResolver.resolveLocale(request);
        assertEquals(locale, Locale.GERMANY);
    }
    catch (UnsupportedOperationException ex) {
        if (shouldSet)
            fail("should be able to set Locale");
    }
}
项目:mobile-starting-framework    文件:LocalisedFieldTag.java   
@Override
public void doTag() throws JspException, IOException {
    PageContext pageContext = (PageContext) getJspContext();
    ServletContext servletContext = pageContext.getServletContext();
    WebApplicationContext ac = WebApplicationContextUtils.getWebApplicationContext(servletContext);

    final List<String> languages = (List) ac.getBean("supportedLanguages");
    this.messageSource = (MessageSource) ac.getBean("messageSource");
    final LocaleResolver localeResolver = (LocaleResolver) ac.getBean("localeResolver");
    final Locale currentLocale = localeResolver.resolveLocale((HttpServletRequest) pageContext.getRequest());
    final JspWriter out = pageContext.getOut();

    final String label = getMessage(labelCode, currentLocale);

    out.println("<div data-role=\"l10nBox\" data-l10n-field=\"" + name + "\">");
    out.println("<label>" + label + ": </label>");
    this.writeHiddenInputCode(out);
    this.writeLanguageOptions(out, languages);
    this.writeLanguageInputs(out, languages);
    out.println("</div>");
    super.doTag();
}
项目:spring-mvc-toolkit    文件:TestHtml5InputTag.java   
protected MockPageContext createPageContext() {
    MockServletContext sc = new MockServletContext();
    StaticWebApplicationContext wac = new StaticWebApplicationContext();
    wac.setServletContext(sc);
    wac.setNamespace("test");
    wac.registerSingleton("validator",
            org.springframework.validation.beanvalidation.LocalValidatorFactoryBean.class);
    wac.refresh();

    MockHttpServletRequest request = new MockHttpServletRequest(sc);
    MockHttpServletResponse response = new MockHttpServletResponse();
    request.setAttribute(DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE, wac);
    LocaleResolver lr = new AcceptHeaderLocaleResolver();
    request.setAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE, lr);
    ThemeResolver tr = new FixedThemeResolver();
    request.setAttribute(DispatcherServlet.THEME_RESOLVER_ATTRIBUTE, tr);
    request.setAttribute(DispatcherServlet.THEME_SOURCE_ATTRIBUTE, wac);

    return new MockPageContext(sc, request, response);
}
项目:Lottery    文件:AdminLocaleInterceptor.java   
@Override
public boolean preHandle(HttpServletRequest request,
        HttpServletResponse response, Object handler)
        throws ServletException {
    LocaleResolver localeResolver = RequestContextUtils
            .getLocaleResolver(request);
    if (localeResolver == null) {
        throw new IllegalStateException(
                "No LocaleResolver found: not in a DispatcherServlet request?");
    }
    CmsSite site = CmsUtils.getSite(request);
    String newLocale = site.getLocaleAdmin();
    LocaleEditor localeEditor = new LocaleEditor();
    localeEditor.setAsText(newLocale);
    localeResolver.setLocale(request, response, (Locale) localeEditor
            .getValue());
    // Proceed in any case.
    return true;
}
项目:Lottery    文件:FrontLocaleInterceptor.java   
@Override
public boolean preHandle(HttpServletRequest request,
        HttpServletResponse response, Object handler)
        throws ServletException {
    LocaleResolver localeResolver = RequestContextUtils
            .getLocaleResolver(request);
    if (localeResolver == null) {
        throw new IllegalStateException(
                "No LocaleResolver found: not in a DispatcherServlet request?");
    }
    CmsSite site = CmsUtils.getSite(request);
    String newLocale = site.getLocaleFront();
    LocaleEditor localeEditor = new LocaleEditor();
    localeEditor.setAsText(newLocale);
    localeResolver.setLocale(request, response, (Locale) localeEditor
            .getValue());
    // Proceed in any case.
    return true;
}
项目:Lottery    文件:MessageResolver.java   
/**
 * 获得国际化信息
 * 
 * @param request
 *            HttpServletRequest
 * @param code
 *            国际化代码
 * @param args
 *            替换参数
 * @return
 * @see org.springframework.context.MessageSource#getMessage(String,
 *      Object[], Locale)
 */
public static String getMessage(HttpServletRequest request, String code,
        Object... args) {
    WebApplicationContext messageSource = RequestContextUtils
            .getWebApplicationContext(request);
    if (messageSource == null) {
        throw new IllegalStateException("WebApplicationContext not found!");
    }
    LocaleResolver localeResolver = RequestContextUtils
            .getLocaleResolver(request);
    Locale locale;
    if (localeResolver != null) {
        locale = localeResolver.resolveLocale(request);
    } else {
        locale = request.getLocale();
    }
    return messageSource.getMessage(code, args, locale);
}
项目:framework    文件:StringUtils.java   
/**
 * 获得i18n字符串
 */
public static String getMessage(String code, Object[] args) {
    LocaleResolver localLocaleResolver = (LocaleResolver) SpringContextHolder.getBean(LocaleResolver.class);
    HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
    Locale localLocale = localLocaleResolver.resolveLocale(request);
    return SpringContextHolder.getApplicationContext().getMessage(code, args, localLocale);
}
项目:NEILREN4J    文件:StringUtils.java   
/**
 * 获得i18n字符串
 */
public static String getMessage(String code, Object[] args) {
    LocaleResolver localLocaleResolver = (LocaleResolver) SpringContextHolder.getBean(LocaleResolver.class);
    HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
    Locale localLocale = localLocaleResolver.resolveLocale(request);
    return SpringContextHolder.getApplicationContext().getMessage(code, args, localLocale);
}
项目:xproject    文件:TokenInterceptor.java   
/**
 * 获取错误消息
 * 默认:DEFAULT_ERROR_MESSAGE,如果指定了errorMessageCode则根据errorMessageCode从资源文件中找
 * @param request
 * @return
 */
protected String getErrorMessage(HttpServletRequest request){
    if(StringUtils.isEmpty(errorMessageCode)){
        return DEFAULT_ERROR_MESSAGE;
    }else{
        LocaleResolver localeResolver = (LocaleResolver) request.getAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE);
        String message = applicationContext.getMessage(errorMessageCode, null, localeResolver.resolveLocale(request));
        if(StringUtils.isEmpty(message) && applicationContext.getParent() != null){
            message = applicationContext.getParent().getMessage(errorMessageCode, null, localeResolver.resolveLocale(request));
        }
        return StringUtils.defaultIfEmpty(message, DEFAULT_ERROR_MESSAGE);
    }
}
项目:spring-rest-skeleton    文件:WebMvcConfiguration.java   
@Bean
public LocaleResolver localeResolver() {
    CookieLocaleResolver resolver = new CookieLocaleResolver();
    resolver.setDefaultLocale(new Locale("en"));
    resolver.setCookieName("SPRING_LOCALE");
    resolver.setCookieMaxAge(4800);
    return resolver;
}
项目:TARA-Server    文件:CasWebAppConfiguration.java   
@Bean
public LocaleResolver localeResolver() {
    SessionLocaleResolver bean = new SessionLocaleResolver();
    String locale = this.casProperties.getLocale().getDefaultValue();
    this.log.debug("Setting default locale to [{}]", locale);
    bean.setDefaultLocale(new Locale(locale));
    return bean;
}
项目:wolf    文件:LocaleConfig.java   
@Bean
public LocaleResolver localeResolver() {
    SessionLocaleResolver slr = new SessionLocaleResolver();
    // 默认语言
    slr.setDefaultLocale(Locale.CHINA);
    return slr;
}
项目:easyweb    文件:StringUtils.java   
/**
 * 获得i18n字符串
 */
public static String getMessage(String code, Object[] args) {
    LocaleResolver localLocaleResolver = (LocaleResolver) SpringContextHolder.getBean(LocaleResolver.class);
    HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
    Locale localLocale = localLocaleResolver.resolveLocale(request);
    return SpringContextHolder.getApplicationContext().getMessage(code, args, localLocale);
}
项目:yadaframework    文件:YadaLocalePathChangeInterceptor.java   
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
    Object newLocale = request.getAttribute(LOCALE_ATTRIBUTE_NAME);
    if (newLocale != null) {
        LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);
        if (localeResolver == null) {
            throw new IllegalStateException("No LocaleResolver found: not in a DispatcherServlet request?");
        }
        localeResolver.setLocale(request, response, StringUtils.parseLocaleString(newLocale.toString()));
    }
    return true;
}
项目:yadaframework    文件:YadaWebConfig.java   
@Bean(name = "localeResolver")
public LocaleResolver localeResolver() {
    CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver();
    cookieLocaleResolver.setCookieMaxAge(Integer.MAX_VALUE);
    // The default is taken from the request header
    // cookieLocaleResolver.setDefaultLocale(Locale.ENGLISH);
    return cookieLocaleResolver;
}
项目:web-framework-for-java    文件:MvcConfig.java   
@Bean
public LocaleResolver localeResolver() {
    // Options: SessionLocaleResolver, AcceptHeaderLocaleResolver, FixedLocaleResolver
    CookieLocaleResolver lr = new CookieLocaleResolver();
    lr.setCookieName("LOCALE"); // if not set, default `org.springframework.web.servlet.i18n.CookieLocaleResolver.LOCALE`
    return lr;
}
项目:oma-riista-web    文件:LanguageChangeController.java   
@CacheControl(policy = CachePolicy.NO_CACHE)
@RequestMapping(value = "/api/v1/language", method = RequestMethod.GET)
public String getLanguage(HttpServletRequest request) {
    final LocaleResolver localeResolver = getLocaleResolver(request);

    return localeResolver.resolveLocale(request).toLanguageTag();
}
项目:oma-riista-web    文件:LanguageChangeController.java   
private static LocaleResolver getLocaleResolver(HttpServletRequest request) {
    final LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);

    if (localeResolver == null) {
        throw new IllegalStateException("No LocaleResolver found: not in a DispatcherServlet request?");
    }

    return localeResolver;
}
项目:whatsmars    文件:SampleController.java   
@RequestMapping(value = "/changeLang", method = RequestMethod.POST)
@ResponseBody
public String changeLang(HttpServletRequest request, HttpServletResponse response, @RequestParam String lang){
    LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);
    if ("zh".equals(lang)) {
        // request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME, new Locale("zh", "CN"));
        localeResolver.setLocale(request, response, new Locale("zh", "CN"));
    } else if("en".equals(lang)){
        // request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME, new Locale("en", "US"));
        localeResolver.setLocale(request, response, new Locale("en", "US"));
    }
    return "lang:" + LocaleContextHolder.getLocale().getLanguage();
}
项目:spring-security-angularjs    文件:MvcConfig.java   
@Bean
public LocaleResolver localeResolver(){
    CookieLocaleResolver resolver = new CookieLocaleResolver();
    resolver.setDefaultLocale(new Locale("en"));
    resolver.setCookieName("myLocaleCookie");
    resolver.setCookieMaxAge(4800);
    return resolver;
}
项目:melon    文件:StringUtils.java   
/**
 * 获得i18n字符串
 */
public static String getMessage(String code, Object[] args) {
    LocaleResolver localLocaleResolver = SpringContextHolder.getBean(LocaleResolver.class);
    HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
            .getRequest();
    Locale localLocale = localLocaleResolver.resolveLocale(request);
    return SpringContextHolder.getApplicationContext().getMessage(code, args, localLocale);
}
项目:spring4-understanding    文件:RequestContext.java   
/**
 * Change the current locale to the specified one,
 * storing the new locale through the configured {@link LocaleResolver}.
 * @param locale the new locale
 * @see LocaleResolver#setLocale
 * @see #changeLocale(java.util.Locale, java.util.TimeZone)
 */
public void changeLocale(Locale locale) {
    LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(this.request);
    if (localeResolver == null) {
        throw new IllegalStateException("Cannot change locale if no LocaleResolver configured");
    }
    localeResolver.setLocale(this.request, this.response, locale);
    this.locale = locale;
}
项目:spring4-understanding    文件:RequestContext.java   
/**
 * Change the current locale to the specified locale and time zone context,
 * storing the new locale context through the configured {@link LocaleResolver}.
 * @param locale the new locale
 * @param timeZone the new time zone
 * @see LocaleContextResolver#setLocaleContext
 * @see org.springframework.context.i18n.SimpleTimeZoneAwareLocaleContext
 */
public void changeLocale(Locale locale, TimeZone timeZone) {
    LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(this.request);
    if (!(localeResolver instanceof LocaleContextResolver)) {
        throw new IllegalStateException("Cannot change locale context if no LocaleContextResolver configured");
    }
    ((LocaleContextResolver) localeResolver).setLocaleContext(this.request, this.response,
            new SimpleTimeZoneAwareLocaleContext(locale, timeZone));
    this.locale = locale;
    this.timeZone = timeZone;
}
项目:spring4-understanding    文件:LocaleChangeInterceptor.java   
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
        throws ServletException {

    String newLocale = request.getParameter(getParamName());
    if (newLocale != null) {
        if (checkHttpMethod(request.getMethod())) {
            LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);
            if (localeResolver == null) {
                throw new IllegalStateException(
                        "No LocaleResolver found: not in a DispatcherServlet request?");
            }
            try {
                localeResolver.setLocale(request, response, StringUtils.parseLocaleString(newLocale));
            }
            catch (IllegalArgumentException ex) {
                if (isIgnoreInvalidLocale()) {
                    logger.debug("Ignoring invalid locale value [" + newLocale + "]: " + ex.getMessage());
                }
                else {
                    throw ex;
                }
            }
        }
    }
    // Proceed in any case.
    return true;
}
项目:spring-rest-skeleton    文件:WebMvcConfiguration.java   
@Bean
public LocaleResolver localeResolver() {
    CookieLocaleResolver resolver = new CookieLocaleResolver();
    resolver.setDefaultLocale(new Locale("en"));
    resolver.setCookieName("SPRING_LOCALE");
    resolver.setCookieMaxAge(4800);
    return resolver;
}
项目:openlmis-stockmanagement    文件:Application.java   
/**
 * Creates new LocaleResolver.
 *
 * @return Created LocalResolver.
 */
@Bean
public LocaleResolver localeResolver() {
  CookieLocaleResolver lr = new CookieLocaleResolver();
  lr.setCookieName("lang");
  lr.setDefaultLocale(locale);
  return lr;
}
项目:Shop-for-JavaWeb    文件:StringUtils.java   
/**
 * 获得i18n字符串
 */
public static String getMessage(String code, Object[] args) {
    LocaleResolver localLocaleResolver = (LocaleResolver) SpringContextHolder.getBean(LocaleResolver.class);
    HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();  
    Locale localLocale = localLocaleResolver.resolveLocale(request);
    return SpringContextHolder.getApplicationContext().getMessage(code, args, localLocale);
}
项目:openlmis-template-service    文件:Application.java   
/**
 * Creates new LocaleResolver.
 *
 * @return Created LocalResolver.
 */
@Bean
public LocaleResolver localeResolver() {
  CookieLocaleResolver lr = new CookieLocaleResolver();
  lr.setCookieName("lang");
  lr.setDefaultLocale(locale);
  return lr;
}