从页面加载的那一刻起JSF国际化。

时间:2011-04-05 10:38:58

标签: java jsf

我想在JSF中实现国际化,网上给出的大多数技术都涉及向用户询问他/她的语言环境并在会话bean中设置值。但我希望基于请求接受语言头设置语言环境,并且JSF应该有一些过滤器,它在加载第一页之前设置语言环境,然后在语言会话bean中设置它,我可以重用它

因此有一些Locale过滤器像jsf实现的功能可以用来设置Locale吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您已在faces-config.xml中正确配置了区域设置并且具有正确的资源包文件,那么应该由Java EE应用程序自动检测区域设置。这个tutorial from Netbeans给出了很好的介绍。

此外,Web应用程序可以根据请求检测客户端的区域设置,如Java EE tutorial中的引用:

  

获取给定的正确字符串   用户,Web应用程序   检索语言环境(由浏览器设置)   语言偏好)来自请求   使用getLocale方法,或允许   用户明确选择   区域设置。

还有一个如何使用getLocale方法的例子:

FacesContext ctx = FacesContext.getCurrentInstance();
Locale locale = ctx.getViewRoot().getLocale();

您可以将其置于会话状态以便轻松访问。