繁体   English   中英

JSF2中的图像i18n

[英]Image i18n in JSF2

我试图在JSF中本地化图像,我希望用户能够在我的网站上设置他们的区域设置。 这是我打电话给的

FacesContext.getCurrentInstance().getViewRoot().setLocale(_locale);

哪个很好用,但有一个例外:

<h:graphicImage library="images" name="pic.gif" />

使用浏览器请求中发送的Accept-Language来确定要使用的语言环境。 我可以通过在每个.properties文件中放置一个区域设置字符串并引用图像来解决此问题

<h:graphicImage library="#{resource.locale}/images" name="pic.gif" />

但是对于单个图像没有回落,所以我必须在每个区域设置的目录中拥有每个图像的副本,无论它是否不同。 这非常麻烦,因为我支持9个语言环境,将来可能会支持更多语言环境。 任何建议将不胜感激。

有趣的问题。 但是,没有内置的支持,不是JSF,也不是Java EE的残余。 最好的办法是创建一个知道回退区域设置的Servlet ,从而基本上进行以下测试:

if (getServletContext().getResource(request.getPathInfo()) == null) {
    // Display fallback image instead.
}

您最终可以通过执行相同检查的自定义JSF组件来执行此操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM