JRC(Java Reporting Component)创建报表源方法

 

如何创建报表源

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

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

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

通过 Java Reporting Component 来获取报表源的方法有两种。 第一种(推荐的)方法是使用 ReportClientDocument 类获取报表源。 第二种方法是使用 IReportSourceFactory2 类。

使用 ReportClientDocument 创建报表源对象
  1. 确保您已导入 ReportClientDocument 类。

    import com.crystaldecisions.reports.sdk.ReportClientDocument;

  2. 创建 ReportClientDocument 类的实例。

    ReportClientDocument reportClientDoc = new ReportClientDocument();

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

    String report = "/reports/sample.rpt";
    reportClientDoc.open(report, 0);
    Object reportSource = reportClientDoc.getReportSource();

    注意:    以上代码中的报表位置会有所不同,具体情况取决于您是使用相对还是绝对路径。 当使用相对路径时,以上报表会解析到 <web_app_dir>/WEB -I NF/lib/reports/sample.rpt。当使用绝对路径时,以上报表会先解析到 <web_app_dir>/WEB -I NF/classes/reports/sample.rpt,然后解析到 /reports/sample.rpt。

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

    session.setAttribute("reportSource", reportSource);

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

使用 IReportSourceFactory2 创建报表源
  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 -I NF/lib/reports/sample.rpt。当使用绝对路径时,以上报表会先解析到 <web_app_dir>/WEB -I NF/classes/reports/sample.rpt,然后再解析到 /reports/sample.rpt

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

        session.setAttribute("reportSource", reportSource);

     

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值