JRC(Java Reporting Component)建立報表源方法

來源:互聯網
上載者:User
 

如何建立報表源

您必須先獲得一個報表源,然後才能在 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-INF/lib/reports/sample.rpt。當使用絕對路徑時,以上報表會先解析到 <web_app_dir>/WEB-INF/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-INF/lib/reports/sample.rpt。當使用絕對路徑時,以上報表會先解析到 <web_app_dir>/WEB-INF/classes/reports/sample.rpt,然後再解析到 /reports/sample.rpt

  4. 一旦獲得了報表源,您必須在使用 Java Reporting Component 時在會話變數中緩衝報表源。

        session.setAttribute("reportSource", reportSource);

     

     

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.