Struts2 jasperreports-传递导出参数

Struts2 jasperreports-传递导出参数,struts2,jasper-reports,Struts2,Jasper Reports,我使用的是struts2 jasperreports插件,效果很好。问题是我想传递exportParameters,但我不确定如何通过插件传递。您使用的Struts2的哪个版本从2.1.2+开始,它提供了提供exportParameters 您只需在action类的struts配置文件中添加以下条目或类似条目 <action name="myJasperTest" class="com.acme.test.action.JasperAction"> <result na

我使用的是struts2 jasperreports插件,效果很好。问题是我想传递exportParameters,但我不确定如何通过插件传递。

您使用的Struts2的哪个版本从
2.1.2+
开始,它提供了提供
exportParameters

您只需在action类的struts配置文件中添加以下条目或类似条目

<action name="myJasperTest" class="com.acme.test.action.JasperAction">
    <result name="success" type="jasper">
      <param name="location">foo.jasper</param>
      <param name="dataSource">mySource</param>
      <param name="exportParameters ">exportParameters </param>
    </result>
</action>
Map<String,String> exportParameters= //init your map here
下面是他们在结果类型中是如何做到这一点的

 exporter = new JRXlsExporter();
Map exportParams = (Map) stack.findValue(exportParameters);
             if (exportParams != null) {
                 LOG.debug("Found export parameters; adding to exporter parameters...");
                 exporter.getParameters().putAll(exportParams);
            }
因此,他们所做的是尝试在名为
exportParameters
的值堆栈中找到一个
map
,如果找到了它,他们将添加它

<action name="myJasperTest" class="com.acme.test.action.JasperAction">
    <result name="success" type="jasper">
      <param name="location">foo.jasper</param>
      <param name="dataSource">mySource</param>
      <param name="exportParameters ">exportParameters </param>
    </result>
</action>
Map<String,String> exportParameters= //init your map here
在struts配置文件中声明映射,如下所示

<param name="exportParameters ">exportParameters </param>
exportParameters
rest框架将负责
希望这将帮助您

但是如何定义导出参数本身您的导出参数是什么?以下是我想要添加的参数addexporter=new JRXlsExporter();exporter.setParameter(JRXlsExporterParameter.IS\u COLLAPSE\u ROW\u SPAN,Boolean.TRUE);exporter.setParameter(JRXlsExporterParameter.IS\u删除\u空\u列之间的空间\u,布尔值.TRUE);exporter.setParameter(JRXlsExporterParameter.IS\u删除\u空的\u行之间的空间,布尔值.TRUE);exporter.setParameter(JRXlsExporterParameter.IS_每张纸一页,布尔值.FALSE);exporter.setParameter(JRXlsExporterParameter.IS\u DETECT\u CELL\u TYPE,Boolean.FALSE);exporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND,Boolean.FALSE);您需要在您的操作中设置它们,并在配置文件中像导出器一样执行所有需要的操作,该“导出器”应位于值堆栈中,以便OGNL可以从中获取它请参阅我更新的帖子,这是使用这些导出参数所需的全部操作