2010-03-11 62 views

回答

4

用户的首选语言环境可用作请求标头(“Accept-Language”)。它由用户的浏览器根据自己的喜好自动填写。 然后,您可以将此信息存储在用户的会话中,并在适当的时候再检索它。

+0

您可以这样做,但如果用户在会话建立后更改浏览器的首选语言,会发生什么情况?所以你需要在每次请求时刷新它。 –

+0

所以,你需要检查每个请求。你可以使用过滤器实现这一点。 – Tony

+0

我同意过滤器的想法。过滤器可以使用语言环境信息填充用户的会话。 –

0

由于its Javadoc显示,没有确切的方法。

要么从请求中获得(首选),要么将其作为会话属性自己存储。

0

通常我们不能从一个HttpSession获取相关的httpRequest对象。但是有一个解决方法。

您可以创建一个过滤器,在过滤器中,您拥有一切,httpSession,httpRequest等。然后创建一个ThreadLocal变量来存储HttpRequest对象。或者只是在稍后的方法中存储您需要的一些请求属性。

你的方法应该能够得到ThreadLocal的值。 HttpRequest或语言设置,或者之前存储的任何内容。

不知道这是否回答了您的问题。