始める前に、『課題 2.4: ナビゲーション規則の使用』を完了しておく必要があります。
直前の課題では、新しい案内広告のためにユーザーが固有の ID 番号を入力したことを確認するためのナビゲーション規則をセットアップしました。 ユーザーは番号を推測することなどしたくないので、 この処理はユーザーのフラストレーションを引き起こします。
もちろん、それぞれのレコードに固有 ID 番号を指定するための最良の方法は、 データベースに、各レコードに固有の番号を割り当てさせることです。 この課題では、自動キー生成をセットアップして、 データベースのそれぞれのレコードに新規番号を付与することを、このサイトに自動的に行わせます。
自動キー生成は複雑なトピックですが、簡単に言えば、 キー生成のためにデータベースに特別なテーブルが予約されていると、 データベースは新規キーを選択できるということです。 このテーブルには、未使用キーのリストを持つ列 (増分 (Incrementor) 列) と 1 から始まる番号順のリストを持つ別の列 (識別 (Identity) 列) が必要です。 データベースに新規キーが必要になると、識別 (Identity) 列で 1 を持つ行からキーを取り込み、 次に、次回に使用できる新規キーを取得します。 『自動キー生成についてさらに学習したい方に』を参照してください。
このチュートリアルで提供されたサンプル・データベースは、KEYS という名前のキー生成テーブルを持っています。 上述した 2 つの列は、各新規レコードに対して新規 ID 番号を提供します。 以下の手順によって、create_record 関連レコードをセットアップし、KEYS テーブルからその ID 番号を取得します。
広告の ID にはキーは 1 つだけ必要なので、「一度に取り出すキー数」を設定値 1 のままにしておきます。複数のキーが必要な場合は、 この設定ですべてのキーを一度にデータベースに選択させることができます。
「データ・オブジェクトの構成」ウィンドウは下図のようになるはずです。
これで、各新規レコードに ID フィールドが自動的に生成されます。 ここで、 ユーザーが値を入力できないように、ID 入力フィールドを除去する必要があります。
オプションとして、どんなキーが生成されたかを知りたいのであれば、 行を削除する代わりに、その ID 番号の入力コンポーネントを削除し、 それを create_record の ID 列にバインドされている出力コンポーネントで置換することもできます。 こうすると、自動生成キーはフォームの上部に表示されますが、 ユーザーはこれを変更することはできません。
ユーザーの Web アプリケーションを公開する準備が完了したならば、 ユーザーがインターネットでその Web サイトにアクセスできるように、それをホスティングするサーバーが必要になります。 ただし、Web サイトをテストするために、WebSphere Application Server を使用して、テスト目的でサーバーをシミュレートすることができます。 Web サイトをテストする方法については、 『課題 1.3: Web サイトのテスト』を参照してください。
チュートリアル「JavaServer Faces を使用して動的情報を Web ページに表示する」チュートリアルの学習は終了しました。 このチュートリアルの『要約』に進んでください。