struts2,jsp项目;显示pdf

时间:2013-04-22 10:11:40

标签: jsp struts2 jasper-reports dynamic-jasper

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

这是我对dynamic-jasper的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);

现在我的问题是如何展示这个&#34; baos&#34;在网页上作为pdf?

1 个答案:

答案 0 :(得分:1)

有两个问题:

  • 您需要返回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;
}