Jsf 使用graphicImage primefaces设置替代图像
这是我用来上传和设置替代图像的bean 豆子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
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>