java - HttpServletRequest getLocale 返回操作系统语言环境而不是浏览器语言环境

标签 java firefox tomcat7 vaadin browser-addons

我正在使用 vaadin 框架,在我的应用程序中我有:

@Override
public void onRequestStart(HttpServletRequest request,
        HttpServletResponse response) {
    currentIP = request.getRemoteAddr();
    setLocale(request.getLocale());
    handle.set(this);    
    this.request = request;    
    this.response = response;
}

但是,request.getLocale() 返回 en_US,这是我的操作系统语言环境。然而,在用于切换语言环境的 Firefox 插件 ( https://addons.mozilla.org/cs/firefox/addon/quick-locale-switcher/?src=userprofile ) 中,我将其设置为 cs_CZ,但是,getLocale() 仍将返回 en_US

最佳答案

尝试获取 session 语言环境:

UI.getCurrent().getSession().getLocale();

这对我有用。

关于java - HttpServletRequest getLocale 返回操作系统语言环境而不是浏览器语言环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19438769/

相关文章:

java - 对基本类型 int 处理错误 : Cannot invoke blurImage(int, int, int)

java - 在我的例子中,启动服务(按类)返回 null

java - 如何使用 BaseAdapter 为自定义 ListView 编写 onitemClickListener 代码?

javascript - 用代码覆盖右箭头 firefox?

spring-mvc - 如何在具有tomcat环境的intellij中使用gradle创建新的spring项目?

Java编译器告诉我我还没有初始化变量 "interest"或 "pmt"

Firefox 后退按钮与 iframe

html - 在 Win7 下的 Firefox 中打开 sans pixelated

java - JSF Web 项目 <h :xxx> tag invisible

java - tomcat 7上的 war 部署问题