3 回答
TA贡献1966条经验 获得超4个赞
我不明白你为什么需要这个。您可以只创建一个servlet,该servlet将通过映射“ /images/yourimage.jpg”从数据库中获取图像。
这是一个快速教程,其中包含有关如何执行此操作的相应代码。
TA贡献1845条经验 获得超8个赞
感谢BalusC。我这样做是通过在支持bean中定义一个整数并在更新ByteArray for image时为其分配一个不同的值来实现的。该整数用作图像的唯一标识符。然后,我将此整数设置为page <f:param>内的值<p:graphicImage>。
图片标签看起来像
<p:graphicImage value="#{empBean.image}">
<f:param name="id" value="#{empBean.imageId}" />
</p:graphicImage>`
并将图像设置为backing bean为
if(user.getPicture()!=null){
imageId = (int) new Date().getTime();
BinaryStreamImpl bs = new BinaryStreamImpl(user.getPicture());
//picture is byte[] property in user class
this.image = new DefaultStreamedContent(bs.getInputStream(), "image/png");
}
现在工作良好。
添加回答
举报