【问题标题】:struts2, jsp project; show pdfstruts2,jsp项目;显示pdf
【发布时间】:2013-04-22 10:11:39
【问题描述】:

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

这是我用于动态碧玉的 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?

【问题讨论】:

  • 哇,8 个月后接受了,太好了 :] ... 8 个月后见,也为你点赞:D
  • no man 我当时实际上不知道接受答案的这个功能。这是我在这个网站上的第一个问题,所以请......我很抱歉我没有足够的声誉来投票:-(
  • 别担心,开个玩笑 ;) P.S:您确实享有投票的声誉……现在是 15
  • 是的,谢谢,这次可以了。

标签: jsp struts2 jasper-reports dynamic-jasper


【解决方案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;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-20
    • 2013-04-20
    • 1970-01-01
    • 2012-11-22
    • 2012-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多