HttpServletRequest getLocale returns OS locale not browser locale

守給你的承諾、 提交于 2019-12-01 06:06:50

问题


I am using vaadin framework and in my application I have:

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

however, request.getLocale() returns en_US, which is my OS locale. However, in Firefox addon for switching locales (https://addons.mozilla.org/cs/firefox/addon/quick-locale-switcher/?src=userprofile), I have set up it to be cs_CZ, however, getLocale() will still return en_US.


回答1:


Try getting the session locale:

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

That worked for me.



来源:https://stackoverflow.com/questions/19438769/httpservletrequest-getlocale-returns-os-locale-not-browser-locale

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!