パート2:ビュー・プロジェクトの構築
ここでは、EJ/JPAコンポーネントをベースとするデータ・コントロールを使用したJSFページの作成を開始します。
Show more or less詳細表示
ステップ1:JavaServer Facesページのグローバル・レイアウトの作成

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

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

    New GalleryでのPage項目の選択

    OK」をクリックします。

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

    Create JSF Pageウィザード
  4. Component Galleryで「Two Column 」レイアウト・カテゴリを選択し、最初のタイプと最初のレイアウトを選択します。

    Component Gallery
    Optionsペインのチェック・ボックスを選択すると、テーマを適用することができます。Show more or less詳細表示

    OK」をクリックして、レイアウト選択を保存します。Create JSF Pageダイアログで、「OK」をクリックしてページを作成します。

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

    空のページ・レイアウト

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

  6. Structureペインで、「panelSplitter」コンポーネントを選択し、Property InspectorでSplitterPositionを300に設定します。

    StructureペインとProperty Inspector
  7. Component Paletteで、ADF Facesライブラリの「Layout」セクションを開き、「Panel Accordion 」コンポーネントをfirstファセットにドラッグします。

    ページへのPanel Accordionのドラッグ
    Component Palette内のページにファイルまたはページ・コンポーネントが整理されます。Show more or less詳細表示
  8. Structureペインで、「panelAccordion」コンポーネントを開き、「Show Detail Item」コンポーネントを選択して、TextフィールドにDeptと入力します。

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

    ページへのPanel Splitterのドロップ
  10. Property Inspectorで、Orientationプロパティをverticalに設定します。

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

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

    ページへのPanel Tabbedコンポーネントのドロップ
  13. Show Detail ItemのEmpを変更します。

  14. Emp」タブを右クリックし、コンテキスト・メニューから「Insert After Show Detail Item」→「Show Detail Item」を選択します。

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

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

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

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

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

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

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

    ページへのデータ・コントロールのドロップ

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

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

    Edit Form Fieldsダイアログ

    Include Navigation Controls 」オプションを選択します。

    Edit Form Fieldsダイアログ

    OK」をクリックします。

    ユーザーがData Controlsパネルから項目をドラッグしてページ上にドロップすると、JDeveloperによって多数のアクションが実行されます。Show more or less詳細表示
  3. Data Controlsアコーディオンで「HRFacadeLocal」→「departmentsFindAll」ノードを展開し、右上のファセットに「employeesList」をドラッグ・アンド・ドロップします。

    ページへのデータ・コントロールのドロップ
  4. ポップアップ・メニューから「Table」→「ADF Read-only Table」を選択します。

    Createダイアログ
  5. Edit Table Columnsダイアログで、「Single Row」、「Enable Sorting」、「Enable Filtering」を選択します。salaryの後にある列をすべて選択し、削除します。

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

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

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

    Edit Table Columnsダイアログ

    OK」をクリックします。

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

    ページへのデータ・コントロールのドロップ
  10. メニュー・オプションから、「Form」→「ADF Form」を選択します。

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

    また、「Include Submit Button」チェック・ボックスを選択します。



    OK」をクリックします。

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

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

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

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

    Component Galleryのグラフ

    OK」をクリックします。

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

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

    Create Bar Graphページ

    OK」をクリックします。

  18. Property InspectorのBarコンポーネントに対して、Appearance3D Effectプロパティをtrueに設定します。

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

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

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

    コンテキスト・メニュー
  2. ページがデフォルトのブラウザ・ウィンドウ内に開くまで待ちます。ロードが完了すると、ページが表示されます。「Next」ボタンをクリックして、複数の従業員が存在する部門を表示します。

    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. メニューバーの「Detach」ボタンをクリックし、ページ・コンテキストからEmployee表を分離します。

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

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

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

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

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

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

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

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

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

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

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

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

    persistメソッドのドロップ
    Session Beanの作成時に、構造化オブジェクトに対してmergeメソッドとpersistメソッドを公開している場合、Data Controlsパネルにこれらのメソッドが表示されます。これらのメソッドを使用してボタンを作成すると、現在のオブジェクト・インスタンスをマージし、永続化することができます。Show more or less詳細表示
  5. Edit Action BindingダイアログでValueフィールドの下矢印をクリックし、「Show EL Expression Builder」を選択します。

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

    Variablesダイアログ

    OK」をクリックします。

    Variablesダイアログ

    再度、「OK」をクリックします。

  7. Property Inspectorで、persistDepartmentsボタンのTextフィールドにPersistと入力します。

    プロパティ・インスペクタ
  8. Structureペインで、「facet-separator」タグを右クリックし、コンテキスト・メニューから「Delete」を選択します。

    コンテキスト・メニュー
  9. Structureペインと、ページのDept部分は次のように表示されます。

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

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

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

    実行中ページのPersistボタン

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

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

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

Bookmark Print すべて表示 | すべて非表示
トップへ戻る
Copyright © 2011, Oracle and/or its affiliates. All rights reserved.?