GraphicImage:如果值属性 return 为空,如何使用默认图像?
GraphicImage: How to use a default image if value attribute would return null?
所以我想要实现的是,只要值属性无法引用正确的图像(例如数据库中没有图像 uploaded/no 图像),就会使用资源库中的默认图像.
想象一下:
用户没有提供头像,所以bean.icon
应该是null
。
<o:graphicImage value="#{bean.icon}" dataURI="true" /> (null isn't allowed as return value)
现在我希望 graphicImage 组件显示默认值,从语义上讲:
<o:graphicImage name="img/default.png" dataURI="true" />
是否有可能以一种优雅的方式实现这一点,也许不使用 JavaScript?
不是通过 <o:graphicImage>
组件。但是,您可以在 Faces#getResourceAsStream()
实用程序的帮助下在 bean 中实现此目的。
public InputStream getIcon() {
InputStream input = yourIconService.getIconAsInputStreamSomehow();
return (input != null) ? input : Faces.getResourceAsStream("/resources/img/default.png");
}
所以我想要实现的是,只要值属性无法引用正确的图像(例如数据库中没有图像 uploaded/no 图像),就会使用资源库中的默认图像.
想象一下:
用户没有提供头像,所以bean.icon
应该是null
。
<o:graphicImage value="#{bean.icon}" dataURI="true" /> (null isn't allowed as return value)
现在我希望 graphicImage 组件显示默认值,从语义上讲:
<o:graphicImage name="img/default.png" dataURI="true" />
是否有可能以一种优雅的方式实现这一点,也许不使用 JavaScript?
不是通过 <o:graphicImage>
组件。但是,您可以在 Faces#getResourceAsStream()
实用程序的帮助下在 bean 中实现此目的。
public InputStream getIcon() {
InputStream input = yourIconService.getIconAsInputStreamSomehow();
return (input != null) ? input : Faces.getResourceAsStream("/resources/img/default.png");
}