パート2:ビュー・プロジェクトの構築
ここでは、EJ/JPAコンポーネントをベースとするデータ・コントロールを使用したJSFページの作成を開始します。

Data Controlsパネルから項目をドラッグし、特定のUIコンポーネントとしてページ上にドロップすることで、データ・バインドされたユーザー・インタフェースを設計できます。データ・コントロールを使用してUIコンポーネントを作成する場合、JDeveloperによって自動的に各種コードおよびオブジェクトが作成され、選択したデータ・コントロールに対してコンポーネントがバインドされます。
ステップ1:JavaServer Facesページのグローバル・レイアウトの作成

次に、ADF Facesコンポーネントを使用して、Departments Employees Master DetailページのJavaServer Faces Pageを作成します。
  1. ViewController」プロジェクトを右クリックして、コンテキスト・メニューから「New」→「From Gallery」を選択します。

    コンテキスト・メニューのNewオプション
  2. New Galleryで、「Web Tier」→「JSF/Facelets」カテゴリを選択し、「Page」項目を選択して、「OK」をクリックします。

    New GalleryでPage項目を選択
  3. ファイル名にmainHR.jsfと入力します。

    Facelets」チェック・ボックスを選択し、Page Layoutセクションで「Copy Quick Start Layout」ラジオ・ボタンをクリックします。ベスト・プラクティスとしてクイック・スタート・レイアウトを使用すると、表示の問題の発生を防止できます。

    ダイアログのPage Layoutセクションで「Two Column」カテゴリをクリックし、リスト内の最初のレイアウトを選択します。「OK」をクリックして、ページを作成します。

    Create JSF Pageウィザード

    設計エディタに空のmainHR.jsfページが表示されます。

    空のページ・レイアウト

    次に、このページにデータ・バインドされたADF Facesコンポーネントを追加します。これらのコンポーネントは、部門とその部門に属する従業員を表示します。

  4. Structureペインで、「panelSplitter」コンポーネントを選択し、プロパティ・インスペクタでSplitterPositionを300に設定します。

    Structureペインとプロパティ・インスペクタ
  5. コンポーネント・パレットで、ADF Facesライブラリの「Layout」セクションを開き、「Panel Accordion」コンポーネントをfirstファセットにドラッグします。

    Panel Accordionをページにドラッグ
  6. Structureペインで、「panelAccordion」コンポーネントを展開し、「Show Detail Item」コンポーネントを選択して、TextフィールドにDeptと入力します。

    プロパティ・インスペクタ
  7. コンポーネント・パレットからページのsecondファセットに対して、「Panel Splitter」コンポーネントをドラッグします。

  8. プロパティ・インスペクタで、Orientationプロパティをverticalに設定します。

  9. Structureペインは次のように表示されます。

    Structureペイン
  10. コンポーネント・パレットから「Panel Tabbed」コンポーネントをドラッグし、secondファセット上にドロップします。

    Panel Tabbedコンポーネントをページにドロップ
  11. Structureペインで「af:panelTabbed」項目を展開し、Detail ItemのTextプロパティをEmpに変更します。

  12. ビジュアル・エディタで「Emp」タブを右クリックし、「Insert After Show Detail Item」→「Show Detail Item」を選択します。

    コンテキスト・メニュー
  13. Show Detail ItemコンポーネントのTextにGraphと入力します。

    プロパティ・インスペクタ
  14. Panel Collection」をドラッグし、firstファセット(右上)にドロップします。

    Panel Collectionをページにドロップ
  15. ページ・スケルトンは次のように表示されます。

    ページ・デザイン・レイアウト
  16. Save AllボタンSave Allアイコンをクリックして作業内容を保存します。

ステップ2:ページへのデータ・コントロール・コンポーネントのバインド

次に、ADF Facesを使用して、従業員データを編集する問合せページを構築します。

  1. Data Controls」アコーディオンを開き、「HRFacadeBean」ノードを展開します。次に、「departmentsFindAll」ノードをfirstファセットにドラッグ・アンド・ドロップします。

    データ・コントロールをページにドロップ

  2. Createポップアップ・メニューから「ADF Form...」を選択します。

    Createダイアログ
  3. Edit FormダイアログのFieldsで、以下を除くすべての列を削除します。
    departmentId
    departmentName
    locationId

    Edit FormダイアログのFields
  4. Include Controls forの「Row Navigation」オプションをチェックします。

    Edit FormダイアログのFields
  5. OK」をクリックします。

  6. ユーザーがData Controlsパネルから項目をドラッグしてページ上にドロップすると、JDeveloperによって多数のアクションが実行されます。プロジェクトのデフォルト・パッケージ内にDataBindings.cpxファイルを作成し(まだ作成されていない場合)、ページ・エントリを追加します。
    また、META-INFディレクトリにadfm.xmlファイルを作成します。 このファイルはDataBindings.cpxファイルのレジストリを作成します。アプリケーション・メタデータ・レイヤーはこのファイルを使用して、アプリケーションのカスタマイズやパーソナライズを実行します。また、ページ定義サブパッケージにページ定義ファイルを追加します(まだ作成されていない場合)。デフォルトのサブパッケージは、adfmsrcディレクトリにあるview.pageDefsです。

  7. Data Controlsアコーディオンで「HRFacadeBean」→「departmentsFindAll」ノードを展開します。ビジュアル・エディタ内の右上のファセット(Panel Collection)に「employeesList1」コレクションをドラッグします。

    データ・コントロールをページにドロップ
  8. Createポップアップ・メニューから「ADF Table」を選択します。

    Createダイアログ
  9. Edit TableダイアログのColumnsで、「Single Row」、「Enable Sorting」、「Enable Filtering」を選択します。salaryを含めて、以降の列をすべて選択し、削除します。

    Edit TableダイアログのColumns
  10. 右側の矢印を使用して、「lastName」と「firstName」を上に移動します。

    Edit TableダイアログのColumns
  11. firstName」と「lastName」の両方を選択し、「Group」ボタンをクリックします。

    Edit TableダイアログのColumns
  12. 最上部に作成された新規行のDisplay LabelにNameと入力します。firstNameとlastNameがインデントされていることから、これらがNameグループ・コンポーネントのサブコンポーネントであることが分かります。

    Edit TableダイアログのColumns
  13. OK」をクリックします。

  14. ページ・デザイナの「Emp」タブをクリックし、Data Controlsアコーディオンから「employeesList1」をドラッグしてEmpペインにドロップします。

    データ・コントロールをページにドロップ
  15. ADF Form」メニュー・オプションを選択します。

    Createメニュー
  16. Edit TableダイアログのColumnsで以下を除くすべての列を削除します。
    commissionPct
    email
    employeeId
    firstName
    hiredate
    jobId
    lastName
    phoneNumber
    salary

    また、Include Controls forの「Submit」チェック・ボックスをチェックします。



  17. OK」をクリックします。

  18. この時点で、ページは次のように表示されます。

    ページ・デザイン
  19. Graph」タブをクリックしてペインを切り替えます。Data Controlsアコーディオンから「employeesList1」をドラッグし、Graphペインにドロップします。

    データ・コントロールのドロップ
  20. コンテキスト・メニューから「Graph」を選択します。

    Createメニュー
  21. Component Galleryで「Bar」カテゴリを選択し、「Bar」タイプと最初のQuick Start Layoutを選択します。

    Component Galleryのグラフ
  22. OK」をクリックします。

  23. Create Bar GraphページでBarsフィールドに「salary」をドラッグ・アンド・ドロップし、X Axisフィールドに「firstName」をドラッグ・アンド・ドロップします。

    Create Bar Graphページ
  24. Swap Bars with X Axis」ボタンをクリックして、フィールドを再配置します。

    Create Bar Graphページ
  25. OK」をクリックします。

  26. プロパティ・インスペクタのBarコンポーネントで、AppearanceThreeDEffectプロパティをtrueに設定し、ShortDescEmps Salariesと入力します。

    プロパティ・インスペクタ
  27. ページは次のように表示されます。

    ページ・デザイン
  28. Save AllボタンSave Allアイコンをクリックして作業内容を保存します。

ステップ3:ページの実行とテスト
ここではADF Facesを使用して、新しいADF問合せ機能を利用した検索ページを作成します。
  1. ページ・エディタで、ページの任意の場所を右クリックして、「Run」を選択します。

    コンテキスト・メニュー
  2. ページがデフォルトのブラウザ・ウィンドウ内にアップロードされるまで待ちます。ロードが完了すると、ページが表示されます。「Next」ボタンをクリックして、複数の従業員が存在する部門を表示します。ページのDeptフォーム内のラベルを確認してください。このフォームでは、UI Hintsに設定したラベルが使用されます。

    Webブラウザ内に表示されたページ

  3. 部門を変更すると、それに従って従業員も変更されることを確認します。Employees表で別の行を選択すると、下部のペインにその従業員の詳細情報が表示されます。

    Webブラウザ内に表示されたページ

  4. Graph」タブをクリックして、該当部門の給与グラフを表示します。

    Webブラウザ内に表示されたページ

  5. Employees表の右端からsalary列を探し、Nameグループの隣に移動します。

    Webブラウザ内に表示されたページ

  6. salary列の上矢印をクリックし、給与を昇順にソートします。新しいソート順が反映されて、グラフも変更されていることを確認します。

    Webブラウザ内に表示されたページ

  7. Emp」タブをクリックして従業員データを表示し、salaryを変更します(例として、Karen Colmenaresのsalaryを2,500から5,000に変更します)。「Submit」をクリックします。

    Webブラウザ内に表示されたページ
  8. Graph」タブをクリックし、グラフに新しい値が反映されていることを確認します。新しい値は、上部のEmployee表にも表示されています。

    Webブラウザ内に表示されたページ
  9. 再度、「Emp」タブをクリックします。salaryに100未満を入力して、「Submit」をクリックします。入力した値の検証が実行され、エラー・メッセージが表示されます。値を有効な値に変更し、再度「Submit」をクリックします。

    Webブラウザ内に表示されたページ
  10. メニューバーの「Detach」ボタンをクリックし、ページ・コンテキストからEmployee表を分離します。

    Webブラウザ内に表示されたページ
  11. Detach」ボタンをクリックして、もとの表示に戻します。

    Webブラウザ内に表示されたページ

  12. メニューバーから「View」→「Columns」を選択し、現在アクティブな列を表示します。


    Webブラウザ内に表示されたページ

  13. メニューバーから「View」→「Reorder Columns」を選択し、Reorder Columnsダイアログで上矢印と下矢印を使用して列を上下に動かしてみてから、「OK」をクリックします。

    Webブラウザ内に表示されたページ

  14. Employees表の列が新しい順序で表示されます。

    Webブラウザ内に表示されたページ
  15. ブラウザ・ウィンドウを閉じます

ステップ4:作成機能と削除機能のページへの追加
ここでは、JDeveloperで提供されているネイティブの作成機能、永続化機能、削除機能を追加します。これらの機能をページに実装するには、以下の手順を実行します。
  1. JDeveloperに戻り、Data ControlsパレットでdepartmentsFindAllの下の「Operations」ノードを開き、「Create」操作をDeptフォームのPanel Group Layoutファセットにドラッグ・アンド・ドロップします。

    Create操作のドロップ
  2. コンテキスト・メニューから「ADF Button」を選択します。

    コンテキスト・メニュー
  3. Deleteメソッドに対しても同じ操作を繰り返します。

    Delete操作のドロップ
  4. HRFacadeBeanノードの「persistDepartments(Departments)」をドラッグし、CreateボタンとDeleteボタンの間にADF Buttonとしてドロップします。

    persistメソッドのドロップ
  5. Edit Action BindingダイアログでValueフィールドの下矢印をクリックし、「Show EL Expression Builder」を選択します。

    Edit Action Bindingダイアログ
  6. Variablesダイアログで、「ADF Bindings」→「bindings」→「departmentsFindAllIterator」→「currentRow」を展開し、「dataProvider」を選択します。

    Variablesダイアログ
  7. OK」をクリックします。

  8. Variablesダイアログ
  9. 再度、「OK」をクリックします。

  10. プロパティ・インスペクタで、persistDepartmentsボタンのTextフィールドにPersistと入力します。

    プロパティ・インスペクタ
  11. Structureペインと、ページのDept部分は次のように表示されます。

    ページのStructureペイン
  12. ページ内を右クリックし、「Run」を選択します。

    コンテキスト・メニューのRunオプション
  13. ブラウザ・ウィンドウで「Create」ボタンをクリックし、空のフォームを表示します。

    実行中ページのCreateボタン
  14. 各フィールドに新しい値(ここでは、400 - Stock - 1800)を入力します。

    実行中ページのPersistボタン

    Persist」ボタンをクリックし、部門表に新しい行を挿入します。

  15. 新しい部門を追加し、部門レコード間を移動してみます。

    Firstナビゲーション・ボタン
  16. ブラウザ・ウィンドウを閉じて、JDeveloperに戻ります。

ブックマーク 印刷 すべて表示 | すべて非表示
トップへ戻る
Copyright c 2013, Oracle and/or its affiliates.All rights reserved.