Oracle® Fusion Middleware Oracle Reportsレポート作成のためのユーザーズ・ガイド 11gリリース1(11.1.1) B61376-01 |
|
戻る |
次へ |
この項のトピックは、第1.2.2項「Webレポートについて」で説明した基本的な概念に基づいています。
関連項目
JavaServer Pages(JSP)テクノロジは、Sun社のJavaサーブレット・テクノロジの拡張機能で、Webページ上に動的コンテンツを表示するための簡単なプログラミング手段を提供します。JSPは、Webまたはアプリケーション・サーバーで実行される埋込みのJavaソース・コードを持つHTMLページです。HTMLはWebブラウザに表示されるページ・レイアウトを提供し、Javaはビジネス・ロジックを提供します。
JSPでは、静的なページの表示と動的なコンテンツの生成が分離されています。JSPでは、動的なアプリケーション・ロジックが静的なHTMLコンテンツから完全に切り離されているため、Javaプログラミングの経験があまりないWebページ・デザイナや経験のないWebページ・デザイナでも、単純にHTMLタグまたはXMLタグを使用して、コンテンツの生成に影響を与えることなくJSPページの外観を変更し、動的に生成されるWebページを設計およびフォーマットできます。JSP固有のタグまたはJavaベースのスクリプレットは、Webページに動的なコンテンツを生成するコンポーネントをコールするために使用します。
JSPには.jsp
拡張子があります。この拡張子によって、Web Serverに、ページの処理にJSPコンテナが必要なことが通知されます。JSPコンテナはJSPタグとスクリプレットを解析し、JSPをJavaサーブレットにコンパイルして実行します。それにより、必要なコンテンツが生成され、その結果がHTMLページまたはXMLページとしてブラウザに返信されます。
JSPは、一般的にインターネットまたは企業のイントラネット経由で、ブラウザベースのクライアントからアクセスおよび実行できます。JSPアプリケーションは、従来のクライアント/サーバー・アプリケーションと次の点で異なります。
幅広い種類のクライアント・マシンとブラウザで実行できます。
Thinクライアントで実行できるため、クライアント・マシンのリソース消費が軽減されます。
より多くの同時ユーザーに対応できます。
インストールおよび保守に必要な作業が少なくなります。
JSPが初めてコールされるときは、Javaサーブレット・クラスにコンパイルされ、Web Serverのメモリーに格納されます。JSPはメモリーに格納されるため、同じページへのコールは2回目以降速くなり、その結果、HTTPリクエストごとに新しいプロセスを起動するという、従来のCommon Gateway Interface(CGI)プログラムで見られたパフォーマンス上の制限が回避されます。
JSPテクノロジに関する他の一般的な情報は、Sun社のJavaおよびJava EEに関するWebサイト(http://java.sun.com
)を参照してください。
Oracle Reportsでは、Oracle Reports Builderを使用して取得する情報でWebページを拡張できるように、基盤テクノロジとしてJavaServer Pages(JSP)がサポートされます。
Oracle Reportsでは、データ・モデルを使用して取得したデータをJSPにより既存のWebページに埋め込み、JSPベースのWebレポートを作成します。JSPレポートは新規作成することも、既存のレポートをJSPレポートとして保存することもできます。新しく作成するレポートは、デフォルトでJSPレポートとして保存されます。レポートをJSPとして保存する場合の利点は、JSPがテキスト・ファイルのため、バイナリの.rdf
フォーマットなどに比べて簡単に編集できる点です。レポートをJSPファイルとして保存すると、そのデータ・モデルがXMLタグを使用して埋め込まれます。現在、レポート全体をXMLタグを使用して定義することも、XMLファイルとして保存することもできます。
Oracle ReportsのカスタムJSPタグを使用すると、既存のJSPファイルにレポート・ブロックやグラフを簡単に追加できます。これらのタグをテンプレートとして使用すれば、JSPベースのWebレポートに、独自のデータドリブンJavaコンポーネントを構築して挿入できます。JSPでは、レポート・ブロックをカプセル化しているHTMLまたはXMLコードの編集に加えて、本体と属性を変更、追加または削除することで、JSP自体でレポート・ブロックを編集することもできます。
レポート・エディタのWebソース・ビューには、HTMLタグ、XMLタグおよびJSPタグを含むWebレポートのソース・コードが表示されます。
デフォルトで、Oracle Reports Builderで作成した新規のJSPには、<%@ page contentType="text/html;charset=ISO-8859-1" %>
が含まれます。JSPをOracle Reports Builder以外で作成する場合は、必ず同様のエンコーディング情報を含める必要があります。
以前のリリースで、Oracle Reportsではペーパーベースのレポートに追加できるWebリンクが導入されました。このリンクは、ペーパー・レポートをWebブラウザまたはPDFビューアで表示するときにアクティブになります。JSPレポートでは、ハイパーリンクを手動で作成する必要があります。また、ハイパーリンクでデータ値を代入する必要がある場合は、データ値をrw:field
というJSPタグで指定する必要があります。次に例を示します。
<a href="http://hostname:port/path/rwservlet?report=department.jsp&p_deptno=<rw:field id="F_Deptno" src="Deptno"/>"> <rw:field id="F_Deptno" src="Deptno">10</rw:field> </a>
JSPベースのWebレポートの文字コード(EUC-JPなど)が、NLS_LANG環境変数のキャラクタ・セット部分(JA16SJISなど)と異なる場合、次のエラーが表示されます。
JSPファイルを実行したとき: REP-6106
またはREP-6104
(javax.servlet.jsp.JspException (multibyte)
)REP-0495 Unable to tokenize the query (singlebyte)
Oracle Reports Builderを使用してJSPファイルを起動したとき: REP-0069 Internal ErrorまたはREP-6106
この問題に対処するには、JSPベースのWebレポートの文字コードが、Oracle Reports BuilderのNLS_LANG
環境変数のキャラクタ・セット部分に対応するIANAエンコーディングに一致することを確認する必要があります。
次に例を示します。
JSPベースのWebレポート・エンコーディング:
<%@ page contentType="text/html;charset=EUC-JP" %><META http-equiv="Content-Type" content="text/html;charset=EUC-JP">
このJSPファイルはキャラクタ・セット(EUC-JP
)でエンコードする必要があります。
Oracle Reports Builderのエンコーディング:
NLS_LANG=JAPANESE_JAPAN.JA16EUC
この例では、JSPベースのWebレポートのエンコーディング(EUC-JP
)が、Oracle Reports BuilderのNLS_LANG
のキャラクタ・セット部分、つまりJA16EUC
と一致しています。
Oracle Reportsでは、Webレポートのテンプレートはデフォルトで西欧文字コード用に構成されています。他の言語に関しては、<Meta>
タグのcharset
属性と<%@page%>
ページ・ディレクティブの両方を使用して、すべてのJSPファイルに文字コードを指定できます。
適切な文字コードをJSPファイルに動的に関連付けるには、次の変更を行います。
rw*.html
ファイルおよびblank_template.jsp
ファイルを次のように編集します。
ページ・ディレクティブを次のように変更します。<%@ page contentType="text/html;charset=
yourIANAencoding
" %>
前述のオプションの意味は次のとおりです。
yourIANAencoding
は、NLS_LANG
変数のNLS_CHARACTERSET
部分に対応するIANAエンコーディング名です。
<Head>
タグ内の<Meta>
タグを次のように変更します。
<meta http-equiv="Content-Type" content="text/html;charset=
yourIANAencoding
" />
template.xsl
(ORACLE_HOME
/reports/templates/
)ファイルを次のように編集します。
<xsl:output>
タグを次のように変更します。
<xsl:output method="jsp" indent="yes" encoding="
yourIANAencoding
" />
前述のオプションの意味は次のとおりです。
yourIANAencoding
は、NLS_LANG
変数のNLS_CHARACTERSET
部分に対応するIANAエンコーディング名です。
次のページ・ディレクティブをファイルに追加します。
<%@ page contentType="text/html;charset=yourIANAencoding" %>
タグ内の<META>
タグを追加または変更します。
<meta http-equiv="Content-Type" content="text/html;charset=yourIANAencoding" />
前述のオプションの意味は次のとおりです。
yourIANAencoding
は、NLS_LANG
変数のNLS_CHARACTERSET
部分に対応するIANAエンコーディング名です。
関連項目
Oracle Reportsオンライン・ヘルプの「リファレンス」の項のトピック「Oracle ReportsのJSPタグ」および「Oracle Reports XMLタグ」
JSPベースのWebレポートをプレビューするには、ツールバーの「Webレイアウトを実行」ボタンをクリックするか、「プログラム」→「Webレイアウトを実行」を選択してWebソースを実行します。Reports Builderによって、Webレポートがデフォルトのブラウザに表示されます。
注意: デフォルトのブラウザがNetscape 7.0で、ブラウザが表示されない場合、レジストリ・キーHKEY_CURRENT_USERS\Software\Oracle\Toolkit\Tkbrowser をデフォルトのブラウザの場所に設定します。BrowserName キーおよびBrowserPath キーが正しい値を反映していることを確認してください。たとえば、次のようになります。BrowserName=Netscape 7 ; BrowserPath=C:\Program Files\Netscape\Netscape\Netscp.exe |
この機能を使用するために、Reports Serverを構成する必要はありません。Oracle Reports Builderは、スタンドアロンのOracle WebLogic Serverを使用して、レポートのWebレイアウトを生成します。
ドキュメント・ルート
デフォルトでは、Oracle Reports Builderのドキュメント・ルート・ディレクトリは、$DOMAIN_HOME/servers/<MANAGED_SERVER_NAME>/stage/reports/reports/web.war/
です。これは、Oracle Reports Builderの構成ファイル(rwbuilder.conf
)内で、次のように構成できます。
<webLayout docroot="DOMAIN_HOME/servers/<MANAGED_SERVER_NAME>/stage/reports/reports/web.war/"/>
エンド・ユーザーは、この構成可能なdocroot
をコマンドラインからWEBSERVER_DOCROOT
コマンドライン・キーワードを使用して変更することもできます。JSPがイメージやスタイル・シートなどの外部ファイルに依存している場合は、それらをdocroot
ディレクトリにコピーする必要があります。docroot
は、Reportsアプリケーションがデプロイされている任意のOracle WebLogic Serverコンポーネントの$DOMAIN_HOME/servers/<MANAGED_SERVER_NAME>/stage/reports/reports/web.war/
ディレクトリをポイントする必要があります。
Webサーバー・ポート
デフォルトでは、OHSポートはWebサーバー・ポートと見なされます。これは、Oracle Reports Builderの構成ファイル(rwbuilder.conf
)内で、次のように構成できます。
<webLayout port="ohs_port"/>
エンド・ユーザーは、この構成可能なportパラメータをコマンドラインからWEBSERVER_PORT
コマンドライン・キーワードを使用して変更できます。
使用に関する注意
生成されたファイル名にある桁数の大きな数字は、単に一意のIDで特に意味はありません(たとえば、emp012345678.jsp
)。
docrootディレクトリに作成された一時ファイルは、Oracle Reports Builderの終了時にクリーン・アップされます。
関連項目
このトピックでは、ペーパーベースのレポートに追加できるWebリンクについて説明します。このリンクは、レポートをHTMLファイルに生成しWebブラウザで表示するときにアクティブになります。
多くの場合、Webリンクはオブジェクトのプロパティ・インスペクタで定義できます。実行時の動的リンクは、リンク値に列名とフィールド名を指定することで作成できます。条件付き設定など、さらに複雑なWebリンクを実装する必要がある場合は、PL/SQLおよびOracle Reports Builderのビルトイン・パッケージ・プロシージャSRW.SET_ATTRを使用して、リンクを指定する必要があります。
HTMLフォーマットのレポート出力には、次の種類のWebリンクを含めることができます。
同じレポート内でのオブジェクトから他のオブジェクトへのリンク、またはオブジェクトから別のHTMLやPDFドキュメントへのリンク(第2.2.5項「ハイパーリンクについて」を参照)。
Webリンクの参照先を示す識別子(第2.2.7項「ハイパーリンクの宛先について」を参照)。参照先には、レポート・レイアウト内にある印刷可能な任意のオブジェクト(フィールド、ボイラープレート、枠など)を指定できます。
関連するオブジェクトにリンクしているマスターHTMLドキュメントのフレーム内の文字列(第2.2.8項「ブックマークについて」を参照)。ブックマークは、レポート・レイアウト内にある印刷可能な任意のオブジェクト(フィールド、ボイラープレート、枠など)に関連付けることができます。フォーマット済のレポートで、ブックマークをクリックすると、ウィンドウの上部に関連オブジェクトが表示されます。
イメージ・リソースを指定するURL。URLは、ブラウザでHTML出力を表示するときにイメージを挿入できるように、Web Serverで使用可能なものにする必要があります。
指定した宛先にグラフの領域をリンクするハイパーリンク。
さらに、エスケープを使用する次のヘッダーおよびフッターを追加して、HTMLタグをペーパーベースのレポートに追加することができます。
HTMLドキュメントの先頭にロゴまたはいくつかの標準リンクを挿入するためのドキュメント・ヘッダー(レポート前値)(第2.2.10項「前および後のエスケープについて」を参照)。
HTMLドキュメントの特定のページまたはすべてのページの先頭にロゴまたはいくつかの標準リンクを挿入するためのページ・ヘッダー(ページ前値)。
HTMLドキュメントの特定のページまたはすべてのページの最後にロゴまたはいくつかの標準リンクを挿入するためのページ・フッター(ページ後値)。
HTMLパラメータ・フォームのヘッダーにロゴまたはいくつかの標準リンクを挿入するためのパラメータ・フォーム・ヘッダー(フォーム前値)。
HTMLパラメータ・フォームのフッターにロゴまたはいくつかの標準リンクを挿入するためのパラメータ・フォーム・フッター(フォーム後値)。
このトピックでは、ペーパーベースのレポートに追加できるWebリンクについて説明します。このリンクは、レポートをPDFファイルに生成しPDFビューアで表示するときにアクティブになります。
PDFフォーマットのレポート出力には、次の種類のWebリンクを含めることができます。
同じレポート内でのオブジェクトから他のオブジェクトへのリンク、またはオブジェクトから別のHTMLやPDFドキュメントへのリンク(第2.2.5項「ハイパーリンクについて」を参照)。
Webリンクの参照先を示す識別子(第2.2.7項「ハイパーリンクの宛先について」を参照)。参照先には、レポート・レイアウト内にある印刷可能な任意のオブジェクト(フィールド、ボイラープレート、枠など)を指定できます。
関連するオブジェクトにリンクしているPDFビューアのブックマーク領域の文字列(第2.2.8項「ブックマークについて」を参照)。ブックマークは、レポート・レイアウト内にある印刷可能な任意のオブジェクト(フィールド、ボイラープレート、枠など)に関連付けることができます。フォーマット済のレポートで、ブックマークをクリックすると、ウィンドウの上部に関連オブジェクトが表示されます。
クリックしたときにコマンドを実行するリンク(第2.2.9項「アプリケーション・コマンドライン・リンクについて」を参照)。コマンドは、レポート・レイアウト内にある印刷可能な任意のオブジェクト(フィールド、ボイラープレート、枠など)に関連付けることができます。フォーマット済のレポートで、オブジェクトをクリックすると、関連付けられているコマンドが実行されます。
指定した宛先にグラフの領域をリンクするハイパーリンク。
多くの場合、Webリンクはオブジェクトのプロパティ・インスペクタで定義できます。実行時の動的リンクは、リンク値に列名とフィールド名を指定することで作成できます。条件付き設定など、さらに複雑なWebリンクを実装する必要がある場合は、PL/SQLを使用してリンクを指定する必要があります。
ハイパーリンクは、次のいずれかの宛先へのハイパーテキスト・リンクを指定するオブジェクトの属性です。
同じレポート内にあり、ハイパーリンクの宛先で識別されているオブジェクト
同じマシンまたはリモートのWeb Serverにある他のHTMLドキュメントやPDFドキュメント
「追加のハイパーリンク属性」プロパティを設定すると、ハイパーリンクに適用するHTMLを追加指定できます。
関連項目
グラフ・ハイパーリンクは、グラフの領域からWebレポート内の指定の場所へのアクティブ・リンクです。エンド・ユーザーは、Web(JSPベース、あるいはペーパーベースのPDFまたはHTML)にレポートを表示し、グラフの1つ以上の領域をクリックして、別のリンク情報にドリルダウンできます。
関連項目
ハイパーリンクの宛先は、ハイパーテキスト・リンクの宛先を識別するオブジェクトの属性です。
関連項目
ブックマークは、オブジェクトへのリンクとなる文字列を指定するオブジェクトの属性です。
関連項目
第4.6.10.1.10項「プロパティ・インスペクタを使用したブックマークの作成」
(PDF出力のみ)アプリケーション・コマンドライン・リンクは、オブジェクトがクリックされたときに実行するコマンドラインを指定するオブジェクトの属性です。
制限
アプリケーション・コマンドライン・リンクに関連付けられているオブジェクトを、さらにWebリンクのソース(ハイパーリンク)にすることはできません。
関連項目
ページ前値には、ドキュメントの特定のページまたはすべてのページの先頭に配置する任意のテキスト、グラフィックまたはHTMLコマンドを指定します。
ページ後値には、ドキュメントの特定のページまたはすべてのページの最後に配置する任意のテキスト、グラフィックまたはHTMLコマンドを指定します。
フォーム前値には、HTMLパラメータ・フォームの上部に配置する任意のテキスト、グラフィックまたはHTMLコマンドを指定します。
フォーム後値には、HTMLパラメータ・フォームの下部に配置する任意のテキスト、グラフィックまたはHTMLコマンドを指定します。
制限
レポート後値(第2.2.10項「前および後のエスケープについて」を参照)では、本体の外にHTMLコマンドを追加しても、レポートをスプレッドシート出力に生成したときに反映されません。これは、出力プロパティでHTMLコマンドが適切に指定されている場合でも同様です。次に例を示します。</body><table><tr><td><B> the text to be bolded </B></td><tr></table> </html>
本文終了タグの前にHTMLコマンドを追加すると、レポートをスプレッドシート出力に生成したときに正常に反映されます。次に例を示します。<table><tr><td><B> the text to be bolded </B></td><tr></table></body></html>
スプレッドシート出力の詳細は、第2.8.13項「拡張スプレッドシート出力について」を参照してください。
関連項目
第4.6.10.1.1項「プロパティ・インスペクタを使用したHTMLドキュメント・ヘッダーの作成」
第4.6.10.2.1項「PL/SQLを使用したHTMLドキュメント・ヘッダーの作成」
第4.6.10.1.2項「プロパティ・インスペクタを使用したHTMLドキュメント・フッターの作成」
第4.6.10.2.2項「PL/SQLを使用したHTMLドキュメント・フッターの作成」
第4.6.10.1.3項「プロパティ・インスペクタを使用したHTMLページ・ヘッダーの作成」
第4.6.10.2.3項「PL/SQLを使用したHTMLページ・ヘッダーの作成」
第4.6.10.1.4項「プロパティ・インスペクタを使用したHTMLページ・フッターの作成」
第4.6.10.2.4項「PL/SQLを使用したHTMLページ・フッターの作成」
第4.6.10.1.5項「プロパティ・インスペクタを使用したHTMLパラメータ・フォーム・ヘッダーの作成」
第4.6.10.2.5項「PL/SQLを使用したHTMLパラメータ・フォーム・ヘッダーの作成」
スタイル・シート(またはカスケード・スタイル・シート)は、HTMLドキュメントの書式をきわめて柔軟に設定できるようにするHTMLの拡張書式です。スタイル・シートをサポートすることで、HTMLドキュメントで次のことが可能になります。
任意のフォント・サイズまたはフォント・スタイル
オーバーラップしたオブジェクト
任意のカラーと幅を持つ水平線、垂直線および四角形
ページ上でのオブジェクトの厳密な配置
ページ番号付け
Webブラウザからの印刷
インライン・イメージ・マップ
つまり、レポートをHTMLCSSドキュメントとしてフォーマットしたときに、レポート内の高度な書式がそのまま保持されます。スタイル・シートで拡張されていないHTMLドキュメントでは、基本的なテキスト書式とインポートされたイメージのみが表示されます。スタイル・シートでは、高度にフォーマットされたテキストのイメージは、同等のスタイル、カラーおよびフォントを持つテキスト・オブジェクトに置換されます。テキスト・オブジェクトとイメージ・オブジェクトは、オーバーラップさせて配置できます。すべてのテキストは完全に検索可能で、ダウンロードするイメージも少なくてすみます。
スタイル・シートを利用したHTMLドキュメントを表示するには、スタイル・シートをサポートしているブラウザが必要です。
HTMLCSS出力での外部スタイル・シートの使用方法
現在、どの企業のWebサイトでも、Webページ全体で企業のルック・アンド・フィールを実現するためにスタイル・シートが使用されています。外部スタイル・シートは、Webページが参照するカスケード・スタイル・シート(CSS)ファイルです。エンド・ユーザーは通常、Webサイト上のページで使用されているものと同じスタイルをWebレポートに適用することを望みます。
以前のリリースでは、スタイル・シートやユーザー定義のスタイルをレポートに適用する場合、HTMLCSS出力を手動で編集する必要がありました。
HTMLCSS出力用のユーザー定義スタイルおよびスタイル・シートを、Oracle Reports Builderを使用して指定できます。スタイルは、新しいプロパティである「スタイル・シート」、「CSSクラス名」および「CSS ID」(これらのプロパティの詳細は、Oracle Reportsオンライン・ヘルプを参照)を使用して、レポート、フィールド、テキスト、枠および繰返し枠の各オブジェクトに適用できます。生成されるHTMLCSS出力にはスタイル・シートへのリンクが含まれ、ユーザー定義のスタイルがオブジェクトに適用されます。
制限
次の要素は、HTMLのスタイル・シート拡張ではサポートされません。
楕円、円弧、多角形、折れ線、対角線
丸い四角形(単純な四角形として表現されます)
矢印線
破線、オブジェクトの境界線
関連項目