我想在JSF中实现国际化,网上给出的大多数技术都涉及询问用户他/她的语言环境并在会话bean中设置值。但是我希望根据请求接受语言头设置区域设置,JSF应该有一些过滤器,在加载第一页之前设置区域设置,然后在语言会话bean中设置它,我可以重用。
因此,是否有一些区域过滤器类似于jsf实现的功能,可以用来设置区域?
谢谢!
如果您在faces-config.xml中正确配置了区域设置,并且拥有正确的资源包文件,那么Java EE应用程序应该会自动检测到区域设置。这个来自Netbeans的教程给出了一个很好的介绍。
此外,web应用程序可以根据请求检测客户端的语言环境,如Java EE教程中的这段话:
获取给定字符串的正确字符串用户,一个web应用程序检索区域设置(由浏览器设置)语言首选项)使用getLocale方法,或允许用户要显式地选择语言环境。
还有一个如何使用getLocale方法的示例:
FacesContext ctx = FacesContext.getCurrentInstance();
Locale locale = ctx.getViewRoot().getLocale();
您可以将其设置为会话状态,以便于访问