struts2,jsp项目;显示pdf

问题描述:

我尝试在jsp页面中显示pdf而不将其保存在硬盘中。我能够生成pdf,并通过将其保存在硬盘中进行测试。我使用DynamicJasper作为报告引擎。struts2,jsp项目;显示pdf

这里是我的动态碧玉strut.xml:

<action name="myJasperTest" class="com.via.qcm.view.JasperAction"> 
    <result name="success" type="dynamic-jasper"> 
    <param name="dynamicReport">DynamicReport</param> 
    <param name="layoutManager">classic</param> 
    <param name="parameters">dynamicReportDs</param> 
    <param name="documentName">report</param> 
    <param name="contentDisposition">application/download</param> 
    <param name="format">PDF</param> 
    </result> 

我生成PDF并将其保存在ByteArrayOutputStream()

baos = new ByteArrayOutputStream(); 
//export to pdf 
Exporter.exportToPdf(jp, baos); 

现在我的问题是如何在网页上显示这个“包”作为pdf?

+1

哇,8个月后接受的,不错:] ...在8个月内见到你也为upvote:D – 2013-12-19 11:12:15

+0

没有人我实际上不知道接受答案的这个特征在那个t我。这是我在这个网站的第一个问题,所以请.. ..我很抱歉,我没有足够的声望upvote :-( – Lipu 2013-12-19 11:39:26

+0

不要担心,只是开玩笑;)PS:你* *有信誉upvote ...它是15 – 2013-12-19 11:40:40

有两个问题:

  • 你需要返回一个DynamicReport对象,而不是一个Byte Array;
  • 的dynamicReport变量必须以lowercase字母开头:

Struts.xml

<param name="dynamicReport">dynamicReport</param> 

Action

public DynamicReport getDynamicReport(){ 
    DynamicReport dynamicReport = null; 
    // do all your stuff 
    return dynamicReport; 
}