首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >弹簧i18n LocaleResolver getLocale

弹簧i18n LocaleResolver getLocale
EN

Stack Overflow用户
提问于 2013-06-26 08:25:38
回答 3查看 6.7K关注 0票数 0

处理spring i18n。我在spring-mvc.xml中定义了两个bean

代码语言:javascript
复制
<bean name="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
    <property name="paramName" value="lang" />
</bean>

<bean name="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
    <property name="defaultLocale" value="en" />
</bean>

和jsp中的两个锚来切换语言。

代码语言:javascript
复制
<span>
    <a href="?lang=en">english</a>
    | 
    <ahref="?lang=zh">chinese</a>
</span>

我试图在我的控制器上获得参数lang/locale,并在javascripts之前获得i18n结果(因为我想要i18n java脚本),但是不起作用。

代码语言:javascript
复制
request.getLocale().getDisplayName();
request.getParameter("lang");

如何在我的控制器上获得Locale?或者i18n java脚本有什么好主意?

提前感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-05 10:05:32

如果您想在Java中更改为另一个地区,可以使用:

字符串RequestContextUtils.getLocaleResolver(request).setLocale(request,anotherLocale="es";

票数 1
EN

Stack Overflow用户

发布于 2014-05-17 09:39:07

查看Spring参数引用:http://docs.spring.io/spring/docs/4.0.0.RELEASE/spring-framework-reference/htmlsingle/#mvc-ann-arguments

支持的方法参数类型 ..。 针对当前请求区域设置的java.util.Locale,由可用的最特定的区域设置解析器确定,实际上是Servlet环境中配置的LocaleResolver

这意味着您可以在Controller方法中简单地使用java.util.Locale参数,并且Spring将为该参数分配当前解析的区域设置:

代码语言:javascript
复制
@RequestMapping(value = "/{viewName}", method = GET)
public String handle(@PathVariable String viewName, Locale locale) {
    return "info/" + locale.getLanguage() + '/' + viewName;
}
票数 1
EN

Stack Overflow用户

发布于 2013-06-27 01:58:45

代码语言:javascript
复制
@Controller
public class MyController{
    @RequestMapping(value = "/test")
    public test(HttpServletRequest request, HttpServletResponse response){
        Locale locale = RequestContextUtils.getLocale(request);
        System.out.println("Locale >>> " + locale);
    }
}

结果:

代码语言:javascript
复制
Locale >>> en
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17315058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档