始める前に、『課題 1.3: Web サイトのテスト』を完了しておく必要があります。
この課題では、ユーザーが新規案内広告を作成してそれをデータベースに掲載することができるページを作成します。最初に、新規レコードをデータベースに表すための関連レコードを作成し、次に 1 セットの入力フィールドとして、ユーザーのページにレコードを視覚化したものを作成します。
使用するデータベースへの接続が確立できなかったことを示す警告メッセージが表示された場合は、Web サイトのテスト後、サーバーを実行したままにしておいたのです。この警告メッセージが表示された場合は、それぞれのダイアログの「キャンセル」をクリックして、『課題 1.3: Web サイトのテスト』にある『サーバーの停止』の説明に従って、サーバーを停止してください。
「関連レコードの追加」ウィンドウは下図のようになるはずです。
「データ・コントロールの構成」ページは、ユーザーの関連レコードの視覚化のカスタマイズを支援します。たとえば、ユーザーの入力フォームにある列、フィールド・ラベル、および「実行」ボタンを変更できます。以下の手順を終了すると、全機能の入力フォームがページに作成されます。
入力フィールド用に生成されたラベルを名前変更するには、「ラベル」列からそのラベルを選んでクリックする。マウス・アイコンがカーソルに変わり、新規テキストを入力できるようになります。
これで、「関連レコードの追加」ウィンドウは下図のようになっているはずです。
このフォームには「エラー・メッセージ」フィールドがあります。これは、プロジェクトにエラーがあることを意味するものではありません。このフィールドは、ユーザーがフォームを実行したときにエラーがあった場合、そのエラーが表示される場所をマークします。
入力フォームが実行されると、ページは新規レコードをデータベースに自動的に追加します。 all_records.jsp ページへ戻るための「新規リストの掲載 (Post New Listing)」ボタンをプログラミングして、データベース内のその新規レコードを即時に見られるようにすることができます。そのためには、以下の手順を行ってください。
この「クイック編集」ビューは、通常ワークベンチの下部中央、「プロパティー」ビューの横のタブにあります。「クイック編集」ビューを見つけることができない場合は、メニュー・バーの「ウィンドウ」>「ビューの表示」>「クイック編集」と順にクリックします。
「クイック編集」ビューは、Faces コンポーネントのためのイベントのコード化を支援できる、コンテキスト依存の Java エディターです。「クイック編集」ビューには、以下に示すように、現在では、データベースへの新規レコードの作成を扱う生成済みコードが含まれています。
ID 列は ADS テーブルの主キーであるので、このテーブルに既存の ID 値を持つレコードはここに追加できません。各新規レコードのために新規の未使用キーを自動的に作成するために自動キー生成を使用する方法については、モジュール 2 で学習します。
その方法を学習するまでは、新規レコードの追加には、未使用 ID 番号をこのページに入力する必要があります。このデータベースが持っているレコードは 1 から 22 までの ID 番号を使用しているので、主キーとしては 22 を超える番号を入力します。複数のレコードを入力する場合は、キーが重複していないことを確認してください。
ページの入力フォームとは、作成した関連レコードにバインドされた 1 組の JavaServer Faces 入力フィールドのことです。使用するデータベースの ADS テーブルに新規レコードを表示するために、関連レコードを作成したことを思い出してください。 バインディング とは、JavaServer Faces 入力コンポーネントを関連レコードの列にリンクできる方法のことです。
関連レコードを作成すると、ウィザードはその列のすべてを、ページにある入力フィールドに自動的にバインドします。手動で変更を行いたい場合は、それぞれの列をそれぞれ別の入力フィールドにバインドすることができます。ユーザーの関連レコードの列を入力フィールドにバインドするには、「ページ・データ」ビューから列をこのフィールドにドラッグします。このプロセスは、ユーザーのフォームにある「説明」入力フィールドを削除してから再作成することによって実験してみることができます。『「ページ・データ」ビューについてさらに学習したい方に』を参照してください。
以下の手順は入力フィールドの概念およびバインディングのプロセスを説明するために準備されたものですが、これらの手順をウォークスルーすることは、このチュートリアルではオプションです。ウォークスルーしない場合は、『課題 1.5: 更新ページの作成』に進んでください。
これで、入力フィールドがこのセルに入りますが、この入力フィールドはいずれの列にもバインドされていないので、その中には {ID} または {TITLE} のようなテキストは入っていません。
これで、独自の JavaServer Faces 入力フォームを作成、変更できます。『課題 1.5: 更新ページの作成』を始める準備が完了しました。