相关疑难解决方法(0)

使用p:graphicImage和StreamedContent从数据库显示动态图像

我想显示的保存在数据库中的图像字节StreamedContent<p:graphicImage>,如下所示:

<p:graphicImage  value="#{item.imageF}" width="50"  id="grpImage" height="80"/>
Run Code Online (Sandbox Code Playgroud)
private StreamedContent content; // getter and setter

public StreamedContent getImageF() {

    if (student.getImage() != null) {
        InputStream is = new ByteArrayInputStream(student.getImage());
        System.out.println("Byte :"+student.getImage());
        content = new DefaultStreamedContent(is, "", student.getStuID());
        System.out.println("ddd ------------------------------- " + content);
        return content;
    }

    return content;
}
Run Code Online (Sandbox Code Playgroud)

这将返回一个空白图像.这是怎么造成的,我该如何解决?

标准输出打印以下内容:

INFO: Byte :[B@a2fb48
INFO: ddd ------------------------------- org.primefaces.model.DefaultStreamedContent@b0887b
INFO: Byte :[B@a2fb48
INFO: ddd ------------------------------- org.primefaces.model.DefaultStreamedContent@1d06a92
INFO: Byte :[B@d52f0b
INFO: ddd ------------------------------- org.primefaces.model.DefaultStreamedContent@39a60
INFO: Byte :[B@d52f0b
INFO: ddd ------------------------------- org.primefaces.model.DefaultStreamedContent@8c3daa …
Run Code Online (Sandbox Code Playgroud)

database jsf image primefaces jsf-2

48
推荐指数
3
解决办法
8万
查看次数

JSF服务层

我不确定我在JSF中使用MVC环境的方法是否是最好的方法.由于我想要充分利用JSF,我想知道我的服务层(或模型,用MVC术语说)应该如何"设计".

我知道视图 - 控制器比率应该是1比1(排除例外情况).现在我应该以什么方式设计我的服务层?我应该使用一项大型服务(不这么认为)吗?如果没有,根据我应该分割我的服务?

注意,我的服务将从Beans(控制器以MVC术语)调用,服务本身将在必要时使用JPA调用DAO.

提前致谢

java model-view-controller jsf service-layer

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

graphicimage在Primefaces中不渲染流式内容

我正在使用streamedcontent渲染从JSF发送的字节,然后将其作为流内容发送回如下:

<p:graphicImage value="#{manage.bytesToStreamedContent(car.image)}"/>
Run Code Online (Sandbox Code Playgroud)

其中image是存储在数据库中的图像的字节数组

支持豆:

public StreamedContent bytesToStreamedContent(byte[] bytes)
{
    InputStream is = new ByteArrayInputStream(bytes);
    StreamedContent image = new DefaultStreamedContent (is, "image/jpeg");
    return image;
}
Run Code Online (Sandbox Code Playgroud)

但我没有在JSF页面中获取图像.我在服务器日志中显示此消息:

警告:JSF1091:找不到文件dynamiccontent的mime类型.要解决此问题,请将mime类型映射添加到应用程序web.xml.

和:

SEVERE: Error in streaming dynamic resource.
Run Code Online (Sandbox Code Playgroud)

你可以帮帮我吗,我找不到有关这个问题的任何有用的信息

PS:

我使用以下库:

Mojarra 2.1.3

PrimeFaces 3.1.1

Glassfish 3.1

primefaces jsf-2

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

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
查看次数