如何创建报表源

您必须先获得一个报表源,然后才能在 JSP 页面中使用导出控件或查看器。

报表源是一个对象,它代表着由导出控件和查看器使用的报表的单一实例。可以使用 Java Reporting Component、页面服务器和 RAS 来获得报表源。

要使用 Java Reporting Component 来创建报表源,您必须掌握要查看或导出的报表所在的位置。通过使用相对或绝对路径指定报表位置。而且,为使 Java Reporting Component 正确地为报表检索数据,必须通过 JNDI 正确指定报表的数据源,或必须依据 JDBC 数据源设计报表。

注意:    下例使用相对路径。您也可以将绝对路径用于 Java Reporting Component。

创建报表源对象
  1. 确保您导入了 JPEReportSourceFactory 类和 IReportSourceFactory2 接口。

    <%@ page import="com.crystaldecisions.reports.reportengineinterface.JPEReportSourceFactory" %>

    <%@ page import="com.crystaldecisions.sdk.occa.report.reportsource.IReportSourceFactory2" %>



  2. 创建一个新的 JPEReportSourceFactory 对象。

    IReportSourceFactory2 rptSrcFactory = new JPEReportSourceFactory();



  3. 调用 IReportSourceFactory2 对象的 createReportSource 方法,将指向所需报表的路径和当前区域设置传给此方法。

String report = "/reports/sample.rpt";

Object reportSource = rptSrcFactory.createReportSource(report, request.getLocale());

取决于您是使用相对还是绝对路径,以上代码中的报表位置会不同。当使用相对路径时,以上报表会解析到 <web_app_dir>/WEB-INF/lib/reports/sample.rpt。当使用绝对路径时,以上报表会先解析到 <web_app_dir>/WEB-INF/classes/reports/sample.rpt,然后再解析到 /reports/sample.rpt

  1. 一旦获得了报表源,您必须在使用 Java Reporting Component 时在会话变量中缓存报表源。

    session.setAttribute("reportSource", reportSource);



注意:    本例中使用的报表未随附于教程中。


Business Objects
http://www.china.businessobjects.com

支持服务
http://www.china.businessobjects.com