データ・テーブルによるパラメーターの引き渡し

データ・テーブルでは、データ・テーブル行アクション (例えば、データ・テーブルで選択されたレコードのデータの詳細ページを戻す) を使用して、 ある Faces JSP ページから別の Faces JSP ページに、 パラメーターを渡すことができます。 これを実行するために、データ行アクションのコントロールを構成し、 データ・テーブル・ページからレコードの詳細ページに、 パラメーターを渡すことができます。
注: データ・テーブルの列にバインドされる「リンク - コマンド」または「リンク - 要求」コンポーネントを使用して、パラメーターを渡すこともできます。
データ・テーブル行のアクションを使用してパラメーターを渡すには、以下のようにします。
  1. データ・テーブルに行アクション・コントロールを追加します。
    1. データ・テーブルの「プロパティー」ビューで、 データ・テーブル h:dataTable の下にある リスト で、「行アクション」をクリックします。 利用可能なアクション設定が、右側に表示されます。

      「プロパティー」ビュー内での行アクションの追加

    2. 「行がクリックされたときに実行されるアクションの追加」の 横にある「追加」をクリックします。 行アクション・コントロールを持つ新規列が データ・テーブルに追加されます。その列の行アクション・コントロールが選択されます。 「プロパティー」ビューで、属性を確認することができます。

      「プロパティー」ビュー内での行アクション

  2. (オプション) アクションが進むべきページを識別するには、 ナビゲーション規則をセットアップします 『Faces JSP ページにおけるナビゲーション規則の使用』を参照してください。
  3. 行アクションにパラメーターを追加します。
    1. 「プロパティー」ビューにおいて、行アクション・コントロール hx:commandExRowAction または hx:requestRowAction の下にあるリストで、「パラメーター」をクリックします。
    2. 「値」列の隣にある「パラメーターの追加」をクリックします。
    3. 「名前」フィールド内をクリックして、 新規パラメーターの名前を入力します。 データ・テーブルの列 (カスタマー ID など) に相当する名前を、入力することができます。
  4. 新規パラメーターについては、値を設定することもできますし、 データ・オブジェクト内のフィールドにバインドすることもできます。 この場合、パラメーターはデータ・フィールドにバインドしてください。
    1. 新規パラメーターの「値」フィールド内でクリックし、 「ページ・データの選択 (Select Page Data)」ボタンをクリックします。「ページ・データの選択 (Select Page Data)」ボタン 「ページ・データ・オブジェクトの選択」ページが開きます。
    2. パラメーターをバインドするには、 データ・テーブルがバインドされている同じ関連レコード・リスト内の 関連レコードを選択してから、「OK」をクリックします。 例えば、customers SDO がある 場合は、customerID 関連レコードを選択してください。

  5. 「クイック編集」ビューを使用して、行アクション・コントロール hx:commandExRowAction または hx:requestRowAction のカスタム・アクションを作成します。
    1. 「プロパティー」ビューで、行アクション・コントロールをクリックします。
    2. 行アクション ID の隣にある「クイック編集」ビュー・ボタン「クイック編集」ビュー・ボタンをクリックします。 「クイック編集」ビューが開きます。

    3. ビューの右側のペイン内をクリックし、新規アクションを定義するためのコードを入力します。
    4. 行アクションから要求スコープにパラメーターを追加し、 ナビゲート先のページがこのパラメーターを使用できるようにします。 例えば、customerID がパラメーター名であり、req_customerID が 設定される要求スコープ変数であるような customers SDO では、return""; の前に以下の行を入力します。
      getRequestScope().put("req_customerID", getRowAction2().getRowParameters().get("customerID"));
      注: コンテンツ・アシストを 使用すると、メソッド名が正しく使用されているかを確認することができます。 例えば、getReq と入力すると、 メソッド名のリストを含むボックスが開きます。 そのボックス内で getRequestScope() を選択することができます。 使用できるメソッド名は、ページ上のオブジェクトにより異なります。 ページ上に複数の行アクションがある場合は、 コンテンツ・アシストを使うことで、 メモリーから正確な ID を再呼び出しすることなく、 すべての行アクションを確認することができます。
  6. (オプション)「プロジェクト・エクスプローラー」ビューで ページを右クリックし、「実行」 > 「サーバーで 実行」の順に選択することで、 そのページをテスト・サーバー上で実行することができます。
行アクションを作成した後は、req_customerID の例のように、この行アクションのナビゲート先のページの要求パラメーターとして変数が使用できるようになります。 この値は、関連レコードのフィルター条件になったり、 JSF 出力コンポーネントで表示されたりといったように、 様々な方法で使用することができます。
関連概念
Faces アプリケーション内のデータを使用する作業
関連タスク
データ・テーブルの追加と構成
データ・テーブルへのヘッダーとフッターの追加
データ・テーブルの列の管理
データ・テーブルへのページングの追加
データ・テーブルへの行アクションの関連付け
データ・テーブル行選択の使用可能化
データ・テーブルへの行編集の追加
データ・テーブルへの行カテゴリー・サポートの追加

フィードバック