我从UI传递语言代码和国家/地区代码以创建Locale
对象。如何在HttpServletRequest
中设置此Locale对象,以便使用HttpServletRequest.getLocale()
在Web应用程序的任何位置使用此Locale对象?
答案 0 :(得分:3)
HttpServletRequest.getLocale()
返回的值由Servlet容器自动设置。来自Javadocs:
返回客户端将接受内容的首选语言环境, 基于Accept-Language标头。如果客户请求没有 提供Accept-Language标头,此方法返回默认值 服务器的语言环境。
如果您有一个Web应用程序,最好不要在您的应用程序中询问国家/地区代码等,而是依赖浏览器首选项/设置(即由浏览器本身的每个用户设置,并适用于他访问的所有网页)。它是通过上述机制传达并由HttpServletRequest.getLocale()
返回的值。
答案 1 :(得分:0)
假设这是一个允许用户选择应用程序语言的功能:
请求是一个非常短暂的对象。如果您想要设置一次,然后在多个请求中保持该值,那么会话就更好了。如果您正在处理无状态应用程序,则客户端必须将其与每个请求一起传递。