【发布时间】:2018-04-02 07:41:04
【问题描述】:
在我的 Java Web 应用程序中,我想为当前请求设置语言环境,并使其在请求期间在整个应用程序中可用。这意味着无论代码在哪个类或方法中,语言环境都可用。我也不想从客户端的浏览器中检索语言环境。它是从内部数据库中检索到的。
无法使用 Locale.setDefault,因为它适用于所有请求。必须为每个客户端请求设置区域设置,具体取决于为发出请求的客户端存储的区域设置。
单例也不行,因为这会使所有请求都相同。
一种解决方案是在调用 doGet 或 doPost 时简单地检索语言环境并将其从一种方法传递到另一种方法。但这真的很丑。
如果有一种方法可以将语言环境附加到当前请求对象,并且能够以某种方式访问应用程序中任何位置的请求对象实例,则更好的解决方案是。不知道有没有可能。
【问题讨论】: