Java中是否有C#Thread.CurrentThread.CurrentCulture
的替代方案?如果不是在Java中存储用户所选语言环境的最佳位置是什么?
答案 0 :(得分:2)
Locale.setDefault()设置整个JVM的默认语言环境,这对于客户端应用程序来说很好。对于Web应用程序,它不是有效的解决方案,但是线程本地也不是,因为相同的线程用于所有用户。在这种情况下,用户区域设置通常存储在HTTP会话中。
答案 1 :(得分:1)
如果你有基于Web SpringMVC的Web应用程序,那么这个类org.springframework.context.i18n.LocaleContextHolder
(javadoc here)可以让你访问当前的语言环境。
在网络应用中,可以根据accept-language
中的DispatcherServlet
请求标题(javadoc here)对其进行初始化。