Jsf 使用graphicImage primefaces设置替代图像

Jsf 使用graphicImage primefaces设置替代图像,jsf,primefaces,Jsf,Primefaces,这是我用来上传和设置替代图像的bean 豆子 public void upload(FileUploadEvent事件)引发IOException{ byte[]photo=IOUtils.toByteArray(event.getFile().getInputstream()); System.out.println(“OK”); 系统输出打印(照片); eleve.setPhoto(照片); FacesMessage=新的FacesMessage(“Reussie!”,event.getFi

这是我用来上传和设置替代图像的bean

豆子

public void upload(FileUploadEvent事件)引发IOException{
byte[]photo=IOUtils.toByteArray(event.getFile().getInputstream());
System.out.println(“OK”);
系统输出打印(照片);
eleve.setPhoto(照片);
FacesMessage=新的FacesMessage(“Reussie!”,event.getFile().getFileName()+“upload!”);
FacesContext.getCurrentInstance().addMessage(空,消息);
}
公共流内容getImageEleve(){
映射参数=FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
String idEleve=parametres.get(“id_Eleve”);
if(idEleve!=null){
Eleve el=eleveService.getEleve(Long.parseLong(idEleve));
返回el.getImagem();
}
返回新的DefaultStreamedContent(FacesContext
.getCurrentInstance().getExternalContext()
.getResourceAsStream(“/css/images/boy.png”);
}
素面

<p:graphicImage value="#{eleveMB.imageEleve}" cache="false" style="width:100px; height:100px; vertical-align: middle">
            <f:param name="id_Eleve" value="#{eleve.id}"></f:param>
            </p:graphicImage>

<h:panelGrid columns="1" cellpadding="10">

                        <p:fileUpload fileUploadListener="#{eleveMB.upload}"
                            update=":form:graphic" auto="true" />
                        <br></br>
                        <p:graphicImage id="graphic" value="#{eleveMB.eleve.imagem}"
                            cache="false" style="width:300px; height:300px"/>
                    </h:panelGrid>



上传是可以的,但我想设置一个替代的图像,如果我不上传图像。
谢谢。

然后只需设置一个“默认图像”,并在上传内容时覆盖它……我尝试通过
新建DefaultStreamedContent(FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream(“/css/images/boy.png”))设置默认图像但它不起作用。好的,抱歉,在代码中遗漏了这一点。但我的下一个评论是:“没有工作”不是很有用。它是否启动WW-III而不是显示图像?如果你删除了所有上传代码等。。。这就像你有一个固定的形象。这样行吗?如果不是,请尝试在stackoverflow中找到有关此更一般问题的一般性Q/A。尝试将观察到的问题作为应用程序的开发人员,而不是应用程序的最终用户来讲述。例如,与其毫无帮助地说“它不工作,为什么不工作?”,不如说“它抛出了null指针异常,因为getResourceAsStream()返回null,为什么它返回null?”谢谢你的相关评论,你是对的。因此,我从方法getImageEleve()中删除了上载代码,结果,显示备选图像。
<p:graphicImage value="#{eleveMB.imageEleve}" cache="false" style="width:100px; height:100px; vertical-align: middle">
            <f:param name="id_Eleve" value="#{eleve.id}"></f:param>
            </p:graphicImage>

<h:panelGrid columns="1" cellpadding="10">

                        <p:fileUpload fileUploadListener="#{eleveMB.upload}"
                            update=":form:graphic" auto="true" />
                        <br></br>
                        <p:graphicImage id="graphic" value="#{eleveMB.eleve.imagem}"
                            cache="false" style="width:300px; height:300px"/>
                    </h:panelGrid>