ken*_*y_k 5 java jsf internationalization jsf-2
我试图在JSF中本地化图像,我希望用户能够在我的网站上设置他们的区域设置.这是我打电话给的
FacesContext.getCurrentInstance().getViewRoot().setLocale(_locale);
Run Code Online (Sandbox Code Playgroud)
哪个很好用,但有一个例外:
<h:graphicImage library="images" name="pic.gif" />
Run Code Online (Sandbox Code Playgroud)
使用Accept-Language浏览器请求中发送的内容来确定要使用的语言环境.我可以通过在每个.properties文件中放置一个区域设置字符串并引用图像来解决这个问题
<h:graphicImage library="#{resource.locale}/images" name="pic.gif" />
Run Code Online (Sandbox Code Playgroud)
但是对于单个图像没有回落,所以我必须在每个区域设置的目录中拥有每个图像的副本,无论它是否不同.这非常麻烦,因为我支持9个语言环境,将来可能会支持更多语言环境.任何建议将不胜感激.
有趣的问题。然而,JSF 和 Java EE 的残余都没有对此提供内置支持。您最好的选择是创建一个Servlet知道后备区域设置的程序,从而基本上执行以下测试:
if (getServletContext().getResource(request.getPathInfo()) == null) {
// Display fallback image instead.
}
Run Code Online (Sandbox Code Playgroud)
您最终可以通过执行相同检查的自定义 JSF 组件来完成此操作。
| 归档时间: |
|
| 查看次数: |
755 次 |
| 最近记录: |