Java 如何在JSF应用程序中检测客户端语言环境?

Java 如何在JSF应用程序中检测客户端语言环境?,java,jsf,localization,internationalization,Java,Jsf,Localization,Internationalization,当我的代码中没有Servlet并且由JSF实现提供时,如何在JSF应用程序中使用ServletRequest.getLocale()?我正在尝试使用ServletContextListener,但是是否可以从ServletContextEvent访问ServletRequest 无论如何,正确的方法是什么 FacesContext.getCurrentInstance().getExternalContext().getRequestLocale(); ?我认为正确的方法是在主页上提供应用程序

当我的代码中没有
Servlet
并且由JSF实现提供时,如何在JSF应用程序中使用
ServletRequest.getLocale()
?我正在尝试使用
ServletContextListener
,但是是否可以从
ServletContextEvent
访问
ServletRequest

无论如何,正确的方法是什么

FacesContext.getCurrentInstance().getExternalContext().getRequestLocale();

我认为正确的方法是在主页上提供应用程序需要支持的各种地区的链接。这对最终用户的干扰较小。否则,最终用户必须以特定于浏览器的方式不断更改区域设置。不同的浏览器也会以不同的方式将区域设置发送到服务器,这也是有问题的,具体取决于您的用例


我强烈建议您阅读教程。

链接现在已断开。