次のセクションでは、Report API を使用して JSP アプリケーションで LookupServlet サーブレットを 使用して、既存のテンプレート(<ERES installation directory>/help/quickstart/templatesディレ クトリにあるExportDHTMLReport.pak)を JSP アプリケーションで実行する方法を示します。
各セクションには、レポートを生成するためのコードと展開に必要な手順が示されています。
13.2.1 JSP アプリケーション
次のコードは、JSP アプリケーションで既存のレポートテンプレート(この場合はExportDHTMLRep ort.pak)を表示する方法を示しています。
注意:上記のコードは完全ではありません。上記のコードは、レポートテンプレートを開いて DHTML にエクスポートし、DHTML コンテンツをクライアントブラウザにストリーミングするために必要なコ ア ERES Report API コードです。
上記のソースのクラスファイルは、<ERES installation directory>/WEB-INF/classes/help/quick startディレクトリにあります。
jsp アプリケーションが実行されると、メイン QuickStart API のサンプルページから適切なリンクを選 択すると、次のレポートが表示されます。
// Connect to the ERES Server
QbReport.setEspressManagerUsed(true);
QbReport.useServlet(true);
QbReport.setServletRunner(protocol + :// + host + ":" + port);
QbReport.setServletContext(quadbase.common.client.ServerMessage.getServletContext()) // Open the report and export it as DHTML, return the result as a String
QbReport report = new QbReport(null, help/quickstart/templates/ExportDHTMLReport.pak);
ByteArrayOutputStream data = new ByteArrayOutputStream(2048);
OutputStream out = new BufferedOutputStream(data);
report.export(QbReport.DHTML, out);
out.flush();
作成されたレポート
コードの主要部分は、ExportDHTMLReport Bean の getReport メソッドにあります。 そこで、
ExportDHTMLReport.pakテンプレートを使用して、reportというQbReportオブジェクトが作成さ れます。 QbReportは、DHTML コンテンツとしてOutputStreamにエクスポートされます。
以下のコンストラクタを使用して QbReport オブジェクトを作成します。
QbReport(Object parent, String reportTemplateName);
13.2.2 ルックアップサーブレットサーブレット
上記のアプローチに加えて、テンプレートの名前と LookupServlet に必要なエクスポート形式を渡して、
作業をさせることができます。
次のコードは、LookupServlet を使用して既存のレポートテンプレート(この場合はExportDHTMLR eport.pak)を表示する方法を示しています。
注意:上記のコードは完全ではありません。上記のコードは、既存のレポートテンプレートとエクスポ ート形式を LookupServlet サーブレットに渡すために必要なコア ERES API コードです。
上記のソースのクラスファイルは、< ERES installation directory>/WEB-INF/classes/help/quickstart ディレクトリにあります。
jsp アプリケーションが実行されると、メイン QuickStart API のサンプルページから適切なリンクを選 択すると、次のレポートが表示されます。
String contextPath = quadbase.common.client.ServerMessage.getServletContext();
// Based on the ERES context, get the http location of the files used in this example int lastSlash = contextPath.lastIndexOf(/);
String eresPath = contextPath.substring(0, lastSlash);
String domain = protocol + "://" + host + ":" + port;</p>
return domain + contextPath + "/LookupServlet?USESESSION=TRUE&
URLTYPE=FORREPORT&" + "TemplatePath=" + domain + eresPath +
"/help/quickstart/templates/ExportDHTMLReport.pak&MultiPageExport=false";
作成されたレポート
コードの主要部分は、ExportDHTMLReport BeanのgetReportUrlメソッドにあります。
そこで、レポートテンプレートへの完全パスが作成され、LookupServletサーブレットに渡されます。
エクスポート形式も渡され、LookupServletは DHTML コンテンツを返します。