VGUIRecord ソース・ファイルを保存すると、VGUIRecord パーツのフィールドに基づいて、デフォルトの JSP ファイルが作成されます。このデフォルトの JSP を編集して、JSP の外観や JSP に表示されるデータを変更することができます。JSP テクノロジーの詳細については、 「JavaServer Pages (JSP) テクノロジー
JavaServer Pages (JSP ファイル) は、.jsp 接尾部を持ち、HTML タグと JSP 構文が混在する ASCII ファイルです。Web アプリケーション・サーバーでは、ページ・コンパイルとして知られる処理によって、JSP ファイルは Java™ サーブレットに変換されます。
スクリプトレットと呼ばれる Java コードの断片を、JSP ファイルに挿入することができます。スクリプトレットは、JSP ソースの任意の場所に配置することができます。実行時に、スクリプトレットの Java コードはサーバー・サイドで実行されますが、Java コード自体はブラウザーに送信される HTML に組み込まれません。UI レコード Bean に固有のメソッドは、UI レコード Bean API に説明があります。
以下のコードは、シンプルなスクリプトレットを表しています。
<% if (x == 1) {out.println(EMPNO.getLabel())}; %>
スクリプトレットの Java コードは、ストリングを out PrintWriter オブジェクトに出力することで、HTML に追加できます。この out オブジェクトは、JSP のページ・コンパイル処理の一部として作成され、スクリプトレットで使用できるようになります。out オブジェクトはストリングのみを受け入れます。ストリング・タイプ以外のものを出力する必要がある場合、最初にそのタイプをストリングに変換する必要があります。
out オブジェクトに出力する方法は 3 つあります。
このように、スクリプトレットにより VGUIRecord のデータにアクセスし、ページ上でそのデータを使用することができます。UI レコード Bean にアクセスする固有のメソッドに関しては、UI レコード Bean API を参照してください。
VGUIRecord と連動して作成された JSP ファイルは、UI レコード Bean を参照します。この UI レコード Bean により、JSP のスクリプトレットは VGUIRecord のデータへのアクセス権限が与えられます。JSP ファイルは、<jsp:useBean> タグでこの Bean を参照します。
例えば、以下のコードは JSP ファイル内で使用されている、Bean への参照を表したものです。
<jsp:useBean id="referenceName"
class="beanClassName"
type="interfaceName"
scope="beanScope" />
また、JSP ファイルに JSP ディレクティブを組み込むこともできます。 以下の 2 つのディレクティブは、Web トランザクションを処理するときに重要です。
import ディレクティブによって、Java import ステートメントを追加することができます。これらの import ステートメントは、JSP のどのスクリプトレットにも適用されます。Java import ステートメントは、パッケージの内部の要素を参照するときに、あらゆる場所のパッケージの完全修飾名を入力する手間を省くことのできる簡略表記です。
以下の import ディレクティブを、VGUIRecord を処理するために 作成された JSP ファイルごとに追加します。
<%@ page import = "com.ibm.vgj.uibean.VGDataElement" %>
errorPage ディレクティブは、キャッチされていない例外に 応答してブラウザーを転送する Web ページを指定します。例えば、UI レコード JSP が、UI レコード Bean への呼び出しで誤った配列添字を指定した場合、errorPage ディレクティブで指定された JSP がエラーを処理します。
たとえ CSOERRORUIR.jsp が、TCP/IP 通信の問題および Web トランザクションの内部の問題について報告するために、カスタマイズするエラー・ページであっても、errorPage ディレクティブで CSOERRORUIR.jsp を指定しないでください。 すべてのエラーを CSOERRORUIR.jsp によって表示する場合は、errorPage="vagen1error.jsp" を指定します。
以下の例は、errorPage ディレクティブを示したものです。
<%@ page errorPage="jspName.jsp" %>