単一のUIXページのマスター/ディテール・フォームの作成

このトピックでは、次の操作が可能なデータ・バインドされたStrutsアプリケーションのモデル・レイヤー、コントローラ・レイヤーおよびビュー・レイヤーの作成に必要な手順を説明します。

このトピックでは、次の項目について説明します。

概要

ページ・フローが完成したら、ページ・フロー・ダイアグラムから実行します。次のようなマスター/ディテールWebページが表示されます。

Master detail table

次の図に、このページ・フローを作成するためにモデル・レイヤー、コントローラ・レイヤーおよびビュー・レイヤーで実行する必要のある手順を簡単に示します。

Scenario steps in Model, View, and Controller layers

次に、このページ・フローを作成するためにモデル・レイヤー、コントローラ・レイヤーおよびビュー・レイヤーで実行する必要のある主要な手順を詳しく説明します。

モデル・レイヤー

コントローラ・レイヤー(設計時)

ビュー・レイヤー

コントローラ・レイヤー(実行時)

マスター/ディテール・ページの作成

この項では、ページ・フロー・ダイアグラムとUIXビジュアル・エディタを使用した、マスター/ディテール表とそれに関連するナビゲーションおよび検索機能や更新機能の作成方法を説明します。

データ・ページと関連するUIXページを作成するには、次のようにします。

  1. Strutsページ・フロー・ダイアグラムを開きます

  2. コンポーネント・パレットで、データ・ページ要素をクリックしてページ・フロー・ダイアグラムにドラッグします。データ・ページに/masterDetailPageという名前を付けます。

    この手順を実行すると、次のエントリがstruts-config.xmlファイルに作成されます。

    
      <action-mappings>
        <action path="/masterDetailPage"
          className="oracle.adf.controller.struts.actions.DataActionMapping"
          type="oracle.adf.controller.struts.actions.DataForwardAction" name="DataForm"
          parameter="unknown">
       </action>        

    データ・ページを追加すると、アクションのclassName属性とtype属性にOracle ADFサブクラスが使用されます。Oracle ADFアクション・サブクラスを使用したアクション・マッピングの詳細は、「データ・バインドされたStrutsアプリケーションでのページ・フローについて」を参照してください。

    注意: データ・ページを追加すると、DataFormという名前のフォームBeanも作成されます。データの更新時には、UIXではこのフォームBeanは使用されません。

  3. /masterDetailPageのデータ・ページ・アイコンをダブルクリックします。「ページの選択または作成」ダイアログ・ボックスの「ページ名」ドロップダウン・リストでページ名「browsePage.uix」を選択します。このとき、「このページをすぐに編集」チェック・ボックスを選択したまま、「OK」をクリックします。

    masterDetailPage.uixファイルが作成され、ページがUIXビジュアル・エディタに表示されます。このとき、次の2つの構成ファイルがナビゲータの「ViewController」ノードに追加されます。

  4. コンポーネント・パレットのすべてのUIXコンポーネントのリストからpageLayout要素をドラッグしてmasterDetailPage.uixのボックスにドロップします。

    Described in text

    pageLayout要素は、ページ全体のテンプレートの役割を果たす高度なレイアウト要素です。ページ作成のためのいくつかのナビゲーション領域およびコンテンツ領域をサポートします。このページに追加した要素は、すべてこの要素に含まれます。

    pageLayoutまたはその他のUIX要素の詳細を確認するには、コンポーネント・パレットで要素を右クリックし、コンテキスト・メニューの「ヘルプ」を選択します。

  5. データ・コントロール・パレットで「EmployeesView3」を選択します(「EmployeesView3」が表示されていない場合は「DepartmentsView1」を開きます)。「ドラッグ・アンド・ドロップの形式」リストからマスター/ディテール表(1対多)を選択し、「EmployeesView3」をページにドラッグします。

    Master detail table in page layout

    データ・コントロール・パレットには、そのページで使用可能なビジネス・サービスが表示されます。この手順では、DepartmentsView1というデータ・コレクションを使用してHRデータベースのDepartments表のデータを表示する読取り専用フォームを追加します。ユーザーはこの表内を移動して、ディテール表に部門ごとの従業員を表示します。

    データ・バインドされた最初のフォームをWebページに追加すると、DataBindings.cpxmasterDetailPageUIModel.xmlという2つのOracle ADFプロジェクト・ファイルがビューに作成されます。DataBindings.cpxは、アプリケーション全体のバインディング・コンテナを定義します。masterDetailPageUI.xmlは、個々のWebページが使用するデータ・コントロールを定義するモデル参照です。

    この時点で、struts-config.xmlファイルが更新されます。次のように<set-property>要素がアクション・マッピングに追加され、関連付けられている<action>要素にモデル参照が定義されます。

    <set-property property="modelReference" value="masterDetailPageUIModel"/>

    Oracle ADFプロジェクト・ファイルの詳細は、「ADF固有のプロジェクト・ファイルについて」を参照してください。データ・コントロール・パレットの詳細は、「データ・コントロール・パレットを使用したUIコンポーネントの挿入」を参照してください。

  6. ナビゲータで「masterDetailDataPageUIModel.xml」ノードを選択します。

    Navigator with UI model file selected

    このファイルにより、アプリケーションのUIモデルが定義されます。このノードをクリックすると、構造ウィンドウにモデル・バインディングが表示されます。

  7. 構造ウィンドウで「EmployeesView3Iterator」ノードを選択します。

    Structure window with UI model

    構造ウィンドウでイテレータ・バインディングを選択すると、プロパティがプロパティ・インスペクタに表示されます。そこでプロパティ値を編集できます。

  8. EmployeesView3Iteratorのレンジ・サイズを設定します。

    プロパティ・インスペクタで、「Range Size」を次のように10から3に変更します。

    PI showing Iterator properties

アプリケーションの実行

この項では、マスター/ディテール・ページの表示方法について説明します。

アプリケーションを実行するには、次のようにします。

  1. UIXビジュアル・エディタの上部の「struts-config.xml」タブをクリックして、ページ・フロー・ダイアグラムに戻ります。
  2. 「/masterDetailPage」アイコンを右クリックして「実行」を選択すると、ブラウザにマスター/ディテール・ページが表示されます。

    このページでは次の操作を実行できます。


データ・バインドされたStrutsアプリケーションでのページ・フローについて
Strutsアプリケーションのページ・フローについて
Oracle ADFのバインディングについて
ADFバインディングのプロパティについて
Oracle ADFデータ・コントロールについて
ADF UIXページの使用

 

Copyright © 1997, 2004, Oracle. All rights reserved.