Retrieve browser locale from httpsession?

若如初见. 提交于 2019-12-01 23:46:40

The preferred Locale for a user is available as a request header ("Accept-Language"). It is automatically filled in by the user's browser according to its preferences. Then, you can store this info in the user's session and retrieve it later when appropriate.

usually we cannot from a HttpSession get the relevant httpRequest object. However there is a workaround.

You can create a Filter, in the filter, you have everything, httpSession, httpRequest etc. Then create a ThreadLocal variable to store the HttpRequest object. Or just store some request attributes that you need in your later methods.

Your method should be able to get the value of the ThreadLocal. HttpRequest, or language settings or whatever you stored before.

Don't know if this answered your question.

As its Javadoc shows, there is no method which does exactly that.

Either just obtain it from the request (preferred), or store it as an attribute of the session yourself.

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