Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 如何将数据库中的多个图像呈现到JSF中?_Hibernate_Jsf_Primefaces - Fatal编程技术网

Hibernate 如何将数据库中的多个图像呈现到JSF中?

Hibernate 如何将数据库中的多个图像呈现到JSF中?,hibernate,jsf,primefaces,Hibernate,Jsf,Primefaces,我试图使用hibernate框架在数据库的xhtml页面中显示多个图像。但是图像没有显示出来。我在下面提到了代码片段 public class ImageRenderBean{ private String imageName; private StreamedContent image; //setters and getters } RPCDocumentBean托管Bean: public class RPCDocumentBean implements Serializable

我试图使用hibernate框架在数据库的xhtml页面中显示多个图像。但是图像没有显示出来。我在下面提到了代码片段

public class ImageRenderBean{

private String imageName;
private StreamedContent image;
//setters and getters

}
RPCDocumentBean托管Bean:

public class RPCDocumentBean  implements Serializable {
private List<ImageRenderBean> docRendList;

public RPCDocumentBean(){

List<RPCDocument> list=getRpcService().find();
ImageRenderBean renderBean=null;
for(RPCDocument doc:list){

renderBean=new ImageRenderBean();
renderBean.setImageName(doc.getDocumentName());
renderBean.setImage( new DefaultStreamedContent(new ByteArrayInputStream(
        doc.getRpcProofdoc()), "png"););
docRendList.add(renderBean);

}

}


}
公共类RPCDocumentBean实现可序列化{
私人名单;
公共RPCDocumentBean(){
List List=getRpcService().find();
ImageRenderBean renderBean=null;
用于(RPC文档:列表){
renderBean=新图像renderBean();
renderBean.setImageName(doc.getDocumentName());
renderBean.setImage(新的DefaultStreamContent(新的ByteArrayInputStream(
getRpcProofdoc(),“png”);
添加(renderBean);
}
}
}
document.xhtml:

<ui:repeat var="docRenPath" value="#{rpcdocumentBean.docRendList}> 

<p:graphicImage id="img1" width="100px" height="100px" value="#{docRenPath.imageRender.image}" style="cursor:pointer"/> 

</ui:repeat>

吃>

现在工作正常。但这里只有两份文件。如果超过特定用户的文档类型。如何在JSF中显示图像?渲染图像的最佳替代方案是什么?

和的可能重复?所以你从这些答案中什么都不明白?我建议休息一下,深呼吸几次,然后重新阅读一遍,然后在项目中重新创建/试验建议的解决方案。
 public class RPCDocumentBean  implements Serializable {
    private List<String> docRendList;
    private StreamedContent rpcdocument1;
    private StreamedContent rpcdocument2;

    public RPCDocumentBean(){

    List<RPCDocument> list=getRpcService().find();
    ImageRenderBean renderBean=null;
    for(RPCDocument doc:list){


    renderBean.add(doc.getDocumentName());
    if(doc.getDocumentName().equals("identityproof")){
    rpcdocument1=new DefaultStreamedContent(new ByteArrayInputStream(
            doc.getRpcProofdoc()), "png"));
    }

   if(doc.getDocumentName().equals("addressproof")){
    rpcdocument2=new DefaultStreamedContent(new ByteArrayInputStream(
            doc.getRpcProofdoc()), "png"));
    }

    }

    }


    }
   <ui:repeat var="docRenPath" value="#{rpcdocumentBean.docRendList}> 
    <p:row rendered="#{docRenPath.equalsIgnoreCase('identityproof')}" >
        <p:column >
    <p:graphicImage id="img1" width="100px" height="100px" value="#{rpcdocumentBean.rpcdocument1}" style="cursor:pointer"/> 
    </p:column>
</p:row>
  <p:row rendered="#{docRenPath.equalsIgnoreCase('addressproof')}" >
        <p:column >
    <p:graphicImage id="img1" width="100px" height="100px" value="#{rpcdocumentBean.rpcdocument2}" style="cursor:pointer"/> 
    </p:column>
</p:row>eat>