ここまでで、Web サイトのために、リストを表示し、作成するページが作成できています。 この演習では、ユーザーがリストを更新したり、削除したりすることを可能にするページを作成します。 更新ページは、ほとんど寸分たがわず作成ページと同じように見えます。 ただし、更新ページでは、ユーザーが変更できるように、 入力フィールドに既存のレコードからのデータが表示される点が異なります。
最初に、データベースからの既存のレコードを表示する関連レコードを作成します。 次に、この関連レコードのための JavaServer Faces 更新フォームを作成して一部を変更すると、このページはテストの準備が整います。
関連レコードはデータベースから 1 レコードのみ表示できます。 したがって、 ユーザーの編集用に 1 レコードのみが表示されるようにデータベース・テーブルをフィルター操作する必要があります。 (前の演習ではデータベースのフィルター操作をする必要はありませんでした。 それは、新規レコードは 1 つしか作成しなかったので、 データベースにはフィルター操作すべき結果がなかったからです。) データベースのそれぞれのレコードには固有 ID 番号が付けられているので、 結果をフィルター操作して、特定の ID 番号を持つレコードを得ることができます。
ここでもう一度、ユーザーが all_records.jsp ページを参照し、 その他のレコードとともに変更したレコードを表示するためのコードを追加します。
ここで、更新するデータベース・レコードをユーザーが選択できるように、all_records.jsp に表への行アクションを追加します。 「#{param.ID}」は、更新ページが更新するレコードの ID 番号を表します。 ユーザーが行をクリックすると、そのレコード ID 番号は 「#{param.ID}」パラメーターとして update_record.jsp ページに送られます。 そこで、update_record.jsp ページに挿入されたばかりのフィルター済み関連レコードは、 更新用のそのレコードのみを表示します。