相关疑难解决方法(0)

如何使用数据库中的图像内容填充h:graphicImage值?

Image我的ManagedBean中有对象.如何在我的JSF页面中获取它?

这似乎不起作用: <h:graphicImage value="#{userProfile.image}" />其中image是类userProfile中的字段变量.

Image来自MySql,如下所示.

int len = rs.getInt("ImageLen");
if(len != 0){
    byte[] b = new byte[len];
    InputStream in = rs.getBinaryStream("Image");
    in.read(b);
    in.close();
    this.image = Toolkit.getDefaultToolkit().createImage(b);
}
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:java.lang.ClassCastException - sun.awt.image.ToolkitImage cannot be cast to java.lang.String.

database jsf blob bytearray graphicimage

5
推荐指数
1
解决办法
1万
查看次数

ManagedBean在Primefaces中将null返回到graphicImage

我在Primefaces组件graphicImage中显示图像时遇到问题.

当我的MB是SessionScoped时,一切正常.但是当它ViewScoped时,图像没有显示出来.

我可以保持SessionScoped,但我的页面上传/删除图像,并存储在PostgreSQL中(请,我的软件架构强迫我这样做).问题是当我插入新图像或删除一个图像时,页面仍显示最后的值(未刷新的图像),直到我关闭浏览器并再次打开.我希望通过ViewScoped我可以重新加载页面,我的问题就解决了.

这是页面的快照:

                    <p:panel id="panelListFotoProduto" header="Fotos do Produto" toggleable="true" collapsed="false" closable="false"
                             toggleSpeed="500" widgetVar="panelListFotoProduto" visible="true" >
                        <p:dataTable id="listFotoProduto" paginatorPosition="bottom" value="#{produtoMB.listProdutoFoto}" 
                                     lazy="true" var="pf" selectionMode="single" paginator="true" rows="1"
                                     rowKey="#{pf.id}">
                            <p:column style="width: 100%" >
                                <h:panelGrid columns="1" cellpadding="4"> 
                                    <p:graphicImage id="imageProduto" value="#{produtoMB.getFoto(pf)}" onclick="dialogFotoProduto.show()"/>
                                    <p:commandButton value="Excluir" style="width: 100%;" update=":growl :formProduto:panelListFotoProduto" actionListener="#{produtoMB.removeFoto(pf)}"/>
                                </h:panelGrid>     
                            </p:column>
                            <f:facet name="footer">
                                <h:panelGrid columns="1" cellpadding="4"> 
                                    <p:commandButton value="Adicionar" style="width: 100%;" update=":growl :formProduto:panelListFotoProduto" actionListener="#{produtoMB.adicionarFoto()}"/>
                                    <h:outputText id="totalProdutos" style="font-weight:bold" value="Total de Fotos Cadastrados: #{produtoMB.listProdutoFoto.size() }"/>
                                </h:panelGrid>                                      
                            </f:facet>
                        </p:dataTable>
                    </p:panel>
Run Code Online (Sandbox Code Playgroud)

这是我的MB:

@ManagedBean
@SessionScoped
public class ProdutoMB {

    private Produto …
Run Code Online (Sandbox Code Playgroud)

primefaces jsf-2 jboss7.x

4
推荐指数
1
解决办法
7883
查看次数

在JSF数据表中显示来自MySQL数据库的图像

我有MySQL数据库,它将图像存储在一blob列中.我想在PrimeFaces中展示它们<p:dataTable>.我怎样才能做到这一点?

mysql datatable jsf image primefaces

4
推荐指数
1
解决办法
1万
查看次数

primefaces更新pdf媒体无法正常工作

我有一个与浏览器中的Primefaces4 meida类型渲染pdf文件有关的问题.我已经成功地尝试了来自primefaces网站的展示示例.现在我想获得一个新功能,它在左侧面板中提供了一个带有文档节点的树结构.用户可以选择一个文档在中心面板中显示它.这意味着一旦用户选择了树上的一个文档,它就会在backbean中生成pdf媒体字段.

相关代码如下所示:

backbean:

@ManagedBean
@ViewScoped
public class DocumentsBean implements Serializable {

private static final long serialVersionUID = 3560539268513760978L;
private TreeNode root;
private String url;
private TreeNode selectedNode; 
private StreamedContent media;

public DocumentsBean() {
    root = new DefaultTreeNode("Root");
}

public TreeNode getRoot() {
    return root;
}

public TreeNode getSelectedNode() {  
    return selectedNode;  
}  

public void setSelectedNode(TreeNode selectedNode) {  
    this.selectedNode = selectedNode;  
}  

public void onNodeSelect(NodeSelectEvent event) {  
    File file = (File) this.selectedNode.getData();
    generatePDF(file);
}

public String getUrl() {
    return url; …
Run Code Online (Sandbox Code Playgroud)

media pdf jsf primefaces view-scope

3
推荐指数
1
解决办法
8569
查看次数

java.io.NotSerializableException:org.primefaces.model.DefaultStreamedContent

我有一个简单的jsf 2.1,以前可以使用primefaces 3.4在Java EE 6上正常工作。

当我迁移到glassfish 4.0和primefaces 5.1时,每次在Netbeans上重新部署项目时,都会遇到以下异常:

java.io.NotSerializableException:org.primefaces.model.DefaultStreamedContent

java.io.NotSerializableException:org.primefaces.component.datatable.DataTable

即使抛出此异常,项目也将正确部署并运行!

有什么事吗

jsf primefaces jsf-2.2

-1
推荐指数
1
解决办法
3283
查看次数