Java HttpServletRequest getLocale返回操作系统区域设置而不是浏览器区域设置
我正在使用vaadin框架,在我的应用程序中,我有:Java HttpServletRequest getLocale返回操作系统区域设置而不是浏览器区域设置,java,firefox,tomcat7,vaadin,browser-addons,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.reques
@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插件()中,我已将其设置为cs\u CZ
,但是,getLocale()仍将返回en\u US
尝试获取会话区域设置:
UI.getCurrent().getSession().getLocale();
这对我很有用。你能发布你从浏览器发送的
Accept Language
标题吗?我认为快速区域设置切换程序只会更改Firefox UI,而不会更改HTTP头;q=0.7,en;q=0.3。嗯,我认为插件改变了这一点,因为我想测试不同地区的翻译支持…试试首选项->内容->语言。