[英]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.