我想在我的 JSF 应用程序中登录时设置特定的用户语言环境。
为此,我从他的属性中获取用户区域设置并通过设置用户区域设置
FacesContext.getCurrentInstance().getViewRoot().setLocale(userLocale);
在成功登录的登录期间。
我的问题是,当我在用户会话期间向用户显示消息时,我通过的语言环境
FacesContext context = FacesContext.getCurrentInstance();
if (context != null && context.getViewRoot() != null) {
locale = context.getViewRoot().getLocale();
...
始终是默认语言环境。
我的代码中没有设置语言环境的其他点,所以我无法弄清楚为什么会发生这种情况。