在PrimeFaces展示(PF5)中,以下示例
<p:imageCompare leftImage="/resources/demo/images/compare/lara-ps3.png"
rightImage="/resources/demo/images/compare/lara-ps4.png"
width="450" height="435"/>
使用静态资源作为图像。我希望通过StreamedContent更具活力。但是这些属性只接受字符串作为属性值。
问题:我如何&#34;转换&#34; StreamedContent到相应的String。
我知道,我可以将图像写入文件,但这似乎不是很性感。
答案 0 :(得分:0)
您是否已尝试使用表达式语言?
xhtml页面:
<p:imageCompare leftImage="#{imageBean.leftImage}"
rightImage="#{imageBean.rightImage}"
width="450" height="435"/>
托管bean:
@ManagedBean
public class ImageBean {
private StreamedContent leftImage;
private StreamedContent rightImage;
public ImageBean() {
InputStream stream1 = this.getClass().getResourceAsStream("lara-ps3.jpg"); //or something else
leftImage = new DefaultStreamedContent(stream1, "image/jpeg");
InputStream stream2 = this.getClass().getResourceAsStream("lara-ps4.jpg"); //or something else
rightImage = new DefaultStreamedContent(stream2, "image/jpeg");
}
public StreamedContent getLeftImage() {
return this.leftImage;
}
public StreamedContent getRightImage() {
return this.rightImage;
}
}