UIX参照フォームおよび挿入フォームの作成

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

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

概要

アプリケーションが完成したら、ページ・フロー・ダイアグラムから実行します。次のような参照用のWebページが最初に表示されます。

Browse page with master detail table

作成用のWebページは次のようになります(「Create」ボタンをクリックすると、参照している部門に基づいて自動的に部門番号が入力されます)。

Insert new employee record form

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

Scenario steps in Model, View, and Controller layers

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

モデル・レイヤー

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

ビュー・レイヤー

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

注意: ビュー・レイヤーにUIXページを作成する前にページ・フロー・ダイアグラムにコントローラ・レイヤー全体を作成することもできますが、多くの場合、データ・ページと関連するWebページを作成してから残りのページ・フロー・ダイアグラムを作成します。後続の項の順序はこの開発方法に対応しています。

参照ページ機能の作成

この項では、このページ・フローの参照ページ機能の表示に使用されるデータ・ページとWebページの作成方法を説明します。

参照データ・ページおよび関連するUIXページとデータ・アクションを作成するには、次のようにします。

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

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

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

      <action-mappings>
        <action path="/browsePage"
          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. コンポーネント・パレットで、データ・アクション要素をクリックしてページ・フロー・ダイアグラムにドラッグします。データ・アクションに/createEmpActionという名前を付けます。
  4. /browsePageのデータ・ページ・アイコンをダブルクリックします。「ページの選択または作成」ダイアログ・ボックスでドロップダウン・リストから「browsePage.uix」を選択します。このとき、「このページをすぐに編集」チェック・ボックスの選択を解除します。
  5. この手順を実行すると、Webページ・ファイルが作成されるためそこからページ・リンクを追加できますが、編集用ではありません。

  6. 作成操作を/createEmpActionデータ・アクションに追加します。

    データ・コントロール・パレットで、「EmployeesView3」の下の「Operations」ノードの下にある「Create」アイコンを選択し、「/createEmpAction」アイコンまでドラッグします。

  7. 「/browsePage」アイコンと「/createEmpAction」アイコンの間にページ・リンクを挿入します

    Data page with page link to data action

  8. 「/browsePage」アイコンをダブルクリックすると、UIXビジュアル・エディタにそのUIXページが表示されます。

    Empty UIX page with createEmp.do button

    空のフォームの一番下の「createEmpAction.do」ボタンに注意してください。/browsePageから/createEmpActionへのページ・リンクを作成すると、UIX設計時ツールによって自動的にボタンが生成され、関連するWebページに配置されます。

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

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

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

  10. データ・コントロール・パレットで「EmployeesView3」を選択します。「ドラッグ・アンド・ドロップの形式」リストからマスター/ディテール(1対多)を選択し、「EmployeesView3」を空のUIXページにドラッグします。

    データ・コントロール・パレットには、そのページで使用可能なビジネス・サービスが表示されます。この手順では、ビュー・オブジェクトを使用してHRデータベースの2つの表のデータを表示するマスター/ディテール表を追加します。ユーザーは、部門マスター表内を移動して、ディテール表に部門ごとの従業員を表示します。

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

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

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

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

    モデル・レイヤーで使用可能な操作の詳細は、「Oracle ADFでサポートされているデータ・コレクション操作について」を参照してください。

  11. コンポーネント・パレットで、「pageButtonBar」を選択してページ内のpageButtonsスロットまでドラッグします。

  12. データ・コントロール・パレットで、一番上の「Operations」ノードの「Commit」を選択してpageButtonバーまでドラッグします。

  13. データ・コントロール・パレットで、一番上の「Operations」ノードの「Rollback」を選択してpageButtonバーまでドラッグします。

  14. 「createEmpAction.do」ボタンを一番上の行の「Select and」の後にドラッグします。

    ボタンを選択した状態で、プロパティ・インスペクタでテキスト・フィールドに「従業員レコードの作成」と入力します。

    UIXページの設計ビューは次のようになります。

    Completed master-detail browse page

    ページを保存して、UIXビジュアル・エディタの上部の「struts-config.xml」タブをクリックして、ページ・フロー・ダイアグラムに戻ります。

挿入ページ機能の作成

この項では、このページ・フローの挿入ページ機能の表示に使用されるデータ・ページ、データ・アクションおよびWebページの作成方法を説明します。

挿入ページを作成するには、次のようにします。

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

    このデータ・ページを追加すると、struts-config.xmlファイルの<action-mappings>セクションに最初のデータ・ページの場合と同様のエントリが作成されます。

  2. /createEmpPageのデータ・ページ・アイコンをダブルクリックします。「ページの選択または作成」ダイアログ・ボックスでドロップダウン・リストから「createEmpPage.uix」を選択します。このとき、「このページをすぐに編集」チェック・ボックスの選択を解除します。
  3. この手順を実行すると、Webページ・ファイルが作成されるためそこからページ・リンクを追加できますが、編集用ではありません。

  4. コンポーネント・パレットで、データ・アクション要素をクリックしてページ・フロー・ダイアグラムにドラッグします。データ・アクションに/cancelActionという名前を付けます。
  5. 「/createEmpPage」アイコンと「/cancelAction」アイコンの間にページ・リンクを挿入します
  6. 「/createEmpPage」アイコンと「/browsePage」アイコンの間にページ・リンクを挿入します

    この時点で、ページ・フローは次のようになります。

    Page flow diagram

    2番目のデータ・アクション上に黄色の警告が付いていることに注意してください。次の「アクションに対するフォワードの作成」の項でこのデータ・アクションのフォワード遷移を作成すると、黄色の警告表示は消えます。この警告は、アクションの定義が完了していないことを示します。

  7. /createEmpPageのデータ・ページ・アイコンをダブルクリックし、「ページの選択または作成」ダイアログ・ボックスで「OK」をクリックし、関連付けられているUIXページを開きます。

    空のフォームの一番下のcancelAction.dobrowsePage.doに注意してください。前の2つの手順でページ・リンクを作成すると、UIX設計時ツールによって自動的にボタンが生成され、関連するWebページに配置されます。

  8. データ・コントロール・パレットで「EmployeesView3」ノードを選択します。「ドラッグ・アンド・ドロップの形式」リストの入力フォーム(ナビゲーション付き)を選択し、「EmployeesView3」を空のUIXページにドラッグします。次のスクリーン・キャプチャのようになります。

    Employees table input form

  9. デフォルトでフォームに作成されている「Submit」ボタンをクリックすると、プロパティ・インスペクタにボタンの属性が表示されます。「text」フィールドに「変更内容を送信」「Event」フィールドに「empReturn」と入力します。

    submitButton attributes in Property Inspector

    「Event」フィールドのtext属性の値であるempReturnは、「アクションに対するフォワードの作成」の項でeditPageデータ・フォワード・アクション・クラスに対して定義するフォワードの名前に対応しています。実行時に、データ・フォワード・アクション・クラスにより、イベント名と同じname属性を持つ<forward>要素がアクション・マッピングに含まれるかどうかが確認され、含まれる場合は正しい宛先へフォワードされます。

  10. 「変更内容を送信」ボタンのイベント・ハンドラを作成します。

    ボタンが選択された状態で、プロパティ・インスペクタで「イベント・ハンドラの設定」をクリックし、表示されるダイアログ・ボックスで「OK」をクリックします。構造ウィンドウでイベント・ハンドラがハイライトされます。イベントを右クリックして、「eventの中に挿入 - empReturn」->「UIXサーブレット」->「go」を選択し、イベント・ハンドラを追加します。goの挿入のダイアログが開いたら、「name」フィールドに「empReturn」と入力します。[Enter]を押して「OK」をクリックします。

  11. 「browsePage.do」ボタンをボタンの行にドラッグします。

    ボタンを選択した状態で、プロパティ・インスペクタで「text」フィールドに「参照に戻る」と入力します。

  12. 「cancelAction.do」ボタンをボタンの行にドラッグします。

    ボタンを選択した状態で、プロパティ・インスペクタで「text」フィールドに「取消」と入力します。この時点で、挿入ページは次のようになります。

    Input form with buttons

    ページを保存して、UIXビジュアル・エディタの上部の「struts-config.xml」タブをクリックして、ページ・フロー・ダイアグラムに戻ります。

アクションに対するフォワードの作成

この項では、ページ・フローで必要なフォワード遷移をページ・フロー・ダイアグラムを使用して作成する方法について説明します。

フォワード遷移を作成するには、次のようにします。

  1. データ・コントロール・パレットでフォワード・アイコンをクリックし、/createEmpActionから/createEmpPageへのフォワード遷移を作成します

    操作とアクション・フォワードの関連付けの詳細は、「アクション・フォワードを定義するためのイベントの使用」を参照してください。

  2. /cancelActionから/browsePageへのフォワード遷移を作成します

    このフォワードを追加すると、2番目のデータ・ページのアクション・マッピングに<forward>要素と<set-property>要素が追加されます。

  3. createEmpPageから/browsePageへのフォワード遷移を作成します。遷移の名前をempReturnに変更します。

    Described in text

    ページ・リンク(「変更内容を送信」ボタンに対応)とフォワード(「Commit」ボタンに対応)の両方は、/createEmpPageから/browsePageへの方向で指定されます。

アプリケーションの実行

Strutsページ・フロー・ダイアグラムで作成したbrowsePageデータ・ページから、データ・バインドされた参照ページおよび編集ページを実行します。

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

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

  3. このアプリケーションでは次の操作を実行できます。

    注意: データの更新に失敗すると、エラー・メッセージが入力ページに表示されます。


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

 

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