Jsf 2 Primefaces:graphicImage从URL调用页面时不显示(非<;h:commandLink)
我在让primefaces动态图形图像在特定场景中显示时遇到了一些问题,在特定场景中,我试图在facelet页面(从数据库检索)上显示图像,而该页面由URL(而不是h:commandLink)调用。它在通过h:commandButton处理请求的其他页面上工作。但是,对于以下场景,除了图像之外的所有数据都会显示Jsf 2 Primefaces:graphicImage从URL调用页面时不显示(非<;h:commandLink),jsf-2,primefaces,Jsf 2,Primefaces,我在让primefaces动态图形图像在特定场景中显示时遇到了一些问题,在特定场景中,我试图在facelet页面(从数据库检索)上显示图像,而该页面由URL(而不是h:commandLink)调用。它在通过h:commandButton处理请求的其他页面上工作。但是,对于以下场景,除了图像之外的所有数据都会显示 fundraiseView.xml(facelet页面) html ... p:graphicImage value=“#{fundraisePage.picture}”/ ... /h
约翰纳森在另一条线索中找到了答案 我需要在p:graphicImage标记中使用标记f:parm name=“id”value=“#{fundraisePage.id}”,以便它接受id作为查找参数。还可以在属性中将图像标记上的值更改为此方法 公共流内容getImage(){ }
@ManagedBean
@RequestScoped
public class FundraisePage extends BackingBean {
@EJB DataSBLocal dataSB;
StreamedContent picture;
@ManagedProperty(value="#{param.id}")
private int id;
@PostConstruct
public void init() {
this.fundRaiseEO = dataSB.getFundRaiseIndividual(id);
InputStream inputStream = new ByteArrayInputStream(this.fundRaiseEO.getPicture());
this.setPicture(new DefaultStreamedContent(inputStream, "image/jpeg"));
}
FundRaise fundRaiseEO = new FundRaise();
fundRaiseEO = dataSB.getFundRaiseIndividual(id);
return new DefaultStreamedContent(new ByteArrayInputStream(fundRaiseEO.getPicture()), "image/jpeg"); \\ or whatever your image mime type.