このチュートリアルでは、Oracle ADF Faces Rich Clientを使用してJSFページを作成する方法について説明します。 Oracle ADF Faces Rich Clientは、Ajax機能が組み込まれている標準JSFコンポーネントのセットです。 Ajaxを利用すると、標準インターネット・テクノロジー上でリッチ・クライアントのようなアプリケーションを実行でき、JSFが提供するサーバー側コントロールを利用すると、一般的なAjaxアプリケーションによくみられる大量のJavaScriptへの依存を軽減できます。
詳細を表示/非表示詳細表示
目的 所要時間 アプリケーション

このチュートリアルでは、ページ・テンプレートに基づいてページを開発する方法を説明します。 続いてレイアウトの設計、データ・コンポーネントの追加、およびページのルック・アンド・フィールの変更を行います。 これから作成するアプリケーションの完成版を確認するには、「Download」ボタンをクリックして最終的なアプリケーションのzipファイルをダウンロードし、JDeveloperのmyworkフォルダに解凍してください。

このファイルには2個のzipファイル(tutorial.zipとtutorialsolution.zip)が含まれます。1つにはスタータ・アプリケーション、もう1つには完成したソリューションが付属しています。

2~2.5時間 taskflow.zipのダウンロード
ステップ1: ページ・テンプレートの作成

このセクションでは、スタータ・アプリケーションを開いて、作成予定の追加ページに使用するページ・テンプレートを作成します。 ページ・テンプレートを作成するには、以下の手順を実行します。

ページ・テンプレートを使用して、ページ・レイアウト全体(ページの特定の属性値を含む)を定義できます。 詳細を表示/非表示詳細表示

  1. アプリケーション・ナビゲータで「Open Application」をクリックします。

    ナビゲータ中の新規アプリケーション
  2. Open Application(s)ダイアログで、アプリケーションの解凍先フォルダを見つけて「Tutorial.jws」を選択します。
    Open」をクリックします。 移行の警告メッセージが表示された場合は、続行して移行操作を終了します。

    アプリケーション・ウィンドウを開く
  3. アプリケーション・ナビゲータにアプリケーションがロードされ、adffacesrcプロジェクトが表示されます。

    アプリケーション名

  4. アプリケーション・ナビゲータで、「adffacesrc」プロジェクトを右クリックして、コンテキスト・メニューから「New」を選択します。

    新しいコンテキスト・メニュー
  5. New GalleryCategoriesペインで、「Web Tier」→「JSF/Facelets」を選択し、「ADF Page Template」項目を選択します。
    OK」をクリックします。

    ADF Page Templateが選択されているNew Gallery

  6. Create ADF Page Templateで、Page Template Nameにsimpleと入力します。

    ADFテンプレート・ページの作成
  7. Facet Definitionsタブで、Addsave all」ボタンをクリックし、Namecenterと入力します。

    テンプレート上のファセット定義
  8. Attributes」タブをクリックし、Addsave all」ボタンをクリックし、NametitleDefault ValueDefault Titleと入力します。
    OK」をクリックします。

    テンプレート上の属性
  9. 設計エディタでsimple.jspxテンプレート・ページが開きます。

    設計ビューのsimipleテンプレート
  10. コンポーネント・パレットのADF FacesLayoutノードを開いて、「Decorative Box」を空のページにドラッグします。

    テンプレート・ページとレイアウト・ライブラリ

    プロパティ・インスペクタのStyle and Themeタブで、Themeプロパティをlightに設定します。 プロパティ・インスペクタのスタイル設定

  11. Structureペインで、「panelGroupLayout」をtopファセットにドラッグ・アンド・ドロップします。

    テンプレートのtopファセット上のパネル・グループ・レイアウト
  12. panelGroupLayoutを選択した状態で、プロパティ・インスペクタでLayoutプロパティをhorizontalに設定します。

    Layoutプロパティをhorizontalに設定
  13. アプリケーション・ナビゲータで、Web Contentimagesノードを開き、「brandingImage.gif」ノードをPanel Group Layoutにドラッグ・アンド・ドロップします。 コンテキスト・メニューで、「ADF Faces Image」を選択します。

    ページへのイメージの追加
  14. ADF FacesLayoutを開いて、「Spacer」を選択し、イメージの横にドロップします。

    Spacerが追加されたファセット

    Widthプロパティを100に設定します。

    スペーサのWidthプロパティの設定
  15. ADF FacesCommon Componentsを開いて、「Output Text」をspacerコンポーネントの下にドロップします。

    テンプレートに追加された出力テキスト

    Valueフィールドで、ドロップダウン・リストから「Expression Builder」を選択します。

    Expression Builderの起動
  16. Expression Builderで既存の式を削除し、値を#{attrs.title}に設定します。
    OK」をクリックします。

    Expression Builderで値を#{attrs.title}に設定

  17. コンポーネント・パレットのADF Facesドロップダウンで、Layoutノードを開いてCore Structureセクションまでスクロール・ダウンします。 「Facet」をcenterファセットにドラッグ・アンド・ドロップします。

    テンプレートにファセットを追加

    Insert Facetダイアログで、ファセット名として「center」を選択し、「OK」をクリックします。

    ファセット名を'center'に
  18. JDeveloperメニュー・バーのSave Allsave all」をクリックするか、メニューから「File」→「Save All」を選択してページを保存します。

ステップ2: ページ・テンプレートを使用したページの設計

テンプレートを作成したら、新しいページを作成し、ページのデフォルト構造としてテンプレートを使用できます。 このためには、以下の手順を実行します。

ページ・テンプレートを使用して、JSFページやページ断片を構築できます。 詳細を表示/非表示詳細表示
  1. adffaces」プロジェクトを右クリックし、コンテキスト・メニューから「New」を選択します。

    アプリケーション・ナビゲータからのNew Galleryの起動
  2. New Galleryで、Web Tierノードを開き、「JSF/Facelets」を選択します。 次に、「Page」項目を選択して「OK」をクリックします。

    Pageが選択された状態のNew Gallery
  3. Create JSF Pageダイアログで、ファイル名をデフォルト値のuntitled1.jspxのままにして、Document TypeがFaceletsに設定されていることを確認します。 Page Templateセクションのドロップダウン・リストから「simple」を選択します。

    OK」をクリックします。

    テンプレートの使用を含むページ定義の指定
  4. アプリケーション・ナビゲータに新規ノードとしてuntitled1.jspxが表示され、simple.jspxテンプレートを使用する設計エディタが開きます。

    設計ビューに表示されるページ
  5. コンポーネント・パレットのADF FacesLayoutライブラリを開いて、「Panel Splitter」コンポーネントを選択し、centerファセットにドラッグ・アンド・ドロップします。

    ADF Facesには、Panel Splitterの他にも、ページ上のその他のコンポーネントの配置に使用できるレイアウト・コンポーネントが多数あります。 詳細を表示/非表示詳細表示

    パネル・スプリッタの追加

  6. 別の「Panel Splitter」コンポーネントを、パネル・スプリッタの'second'ファセットにドラッグ・アンド・ドロップします。

    別のパネル・スプリッタの追加

  7. Structureペインで、最初のpanelSplitterコンポーネントを開き、2番目のコンポーネントを選択します。 プロパティ・インスペクタで、Orientationをverticalに設定します。

    Orientaionをverticalに設定

  8. Panel Accordion」コンポーネントを、パネル・スプリッタの左側の'first'ファセットにドラッグ・アンド・ドロップします。

    パネル・アコーディオンの追加

    プロパティ・インスペクタで、TextMy Cartに設定します。

    TextをMy Cartに設定

  9. 作成したアコーディオン内をクリックして「showDetailItem」を右クリックし、コンテキスト・メニューから「Insert After showDetailItem」→「Show Detail Item」を選択します。

    既存のshowDetailItemの後にShow Detail Itemを挿入

    追加したShow Detail Itemについて、プロパティ・インスペクタのCommonタブで、TextフィールドをMore Infoに変更します。

    TextプロパティをMore Infoに設定
  10. Panel Collection」コンポーネントを、右側の'first'ファセットにドラッグ・アンド・ドロップします。

    Panel Collectionをfirstファセットに追加
  11. Panel Tabbed」コンポーネントを、右側の'second'ファセットにドラッグ・アンド・ドロップします。 このコンポーネントは、Interactive Containers and Headersグループに表示されます。

    Panel Tabbedをsecondファセットに追加

    Structureペインで、作成した「af:showDetailItem」コンポーネントを選択し、プロパティ・インスペクタのTextフィールドにProduct Detailsと入力します。

    Panel TabbedのTextをProduct Detailsに設定
  12. Product Details」タブを右クリックし、コンテキストから「Insert After showDetailItem」→「Show Detail Item」を選択します。

    Panel Tabbedに別のShow Detail Itemを追加

    Structureペインで、作成した「af:showDetailItem」コンポーネントを選択し、プロパティ・インスペクタで、TextフィールドにRatingと入力します。

    TextプロパティをRatingに設定

    ページは次のイメージのように表示されます。

    ページの設計ビュー
  13. すべての作業を保存します。 次にページを右クリックし、コンテキスト・メニューから「Run」を選択します。

    設計ビューからページを実行
  14. ブラウザにページがロードされます。 タブを選択したり、More Infoパネルを開いたりして、操作を試します。 終了したら、ブラウザを開いたままJDeveloperに戻ります。

    ブラウザにロードしたページ
  15. 次のステップでは、ページ・タイトルをカスタマイズして、既存ページでどのように使用されるかを確認します。 このプロセスを開始するには、以前に作成したsimple.jsfテンプレートを開きます。

    JDeveloperでsimpleページを表示
  16. ページ・デザイナで、「title」コンポーネントを選択します。

    出力titleコンポーネントの選択

    プロパティ・インスペクタでStyleノードを開き、Font/TextノードのColorフィールドで、Colorドロップダウン・リストから任意の色を選択します(例ではAquaを選択)。

    タイトルをAquaカラ―に設定

    Font Sizeプロパティで、ドロップダウン・リストから「large」を選択します。

    titleコンポーネントのサイズをlargeに設定
  17. すべての作業を保存します。 ブラウザに戻り、ページを再ロードして新しい特性を表示します。

    JDeveloperアプリケーションを保存した後、ブラウザ・ウィンドウをリフレッシュすると、アプリケーションに加えた新しい変更内容が反映されます。ただし、バインディング・コンポーネントを更新している場合、 ブラウザに変更内容を反映させるには、JDeveloperから、そのページを再実行する必要があります。

    ブラウザにページを再ロードして、タイトルの新しい特性を表示
  18. 設計エディタでuntitledページを開きます。

    JDeveloper内のsimpleページに戻る
  19. Structureペインで「pageTemplate」タグを選択し、プロパティ・インスペクタでtitleプロパティをStore Frontに設定します。

    Structureペインでのテンプレートの選択titleをStore Frontに設定
  20. すべての作業を保存します。 ブラウザに戻り、ページを再ロードして新しい特性を表示します。

    ページを再ロードして変更を表示
ステップ3: 入力コンポーネントと出力コンポーネントの使用

ページ・レイアウトが完了したら、データを追加します。 このプロセスの最初のステップは、POJOからのデータ・コントロールの作成です。 このためには、以下の手順を実行します。

アプリケーション・サービスの準備ができたら、JDeveloperを使用して、UIコンポーネントとこれらのサービスの宣言的バインドに必要な情報を提供するデータ・コントロールを作成できます。 詳細を表示/非表示詳細表示
  1. ADFデータ・バインディング機能を使用して、既存のPOJOクラスからデータ・コントロールを作成します。
    アプリケーション・ナビゲータでApplication Sourcesノードを開き、tutorial.modelの「StoreProducts.java」を右クリックし、コンテキストから「Create Data Control」を選択します。

    POJOからのデータ・コントロールの作成

    Bean Data Control Interfaceで「TransactionalDataConrtol」と「UpdatableDataControl」を選択し、「OK」をクリックします。

    Bean Data Control Interfaceセレクタ

    データ・コントロールの作成後、アプリケーション・ナビゲータにはDataControls.dcxファイルが含まれます。

    アプリケーション・ナビゲータ中のDataControlsファイル
  2. アプリケーション・ナビゲータで、Data Controlsアコーディオン、StoreProductsノードを開きます。 Data Controlsペインは次のように表示されます。

    データ・コントロールの表示

  3. StoreProducts」→「products」データ・コントロールを選択して、untitled1ページの設計エディタのaf:panelCollectionにドラッグ・アンド・ドロップします。 ポップアップ・メニューから「Table」→「ADF Read-only Table...」を選択します。

    ADF Faces表コンポーネントを使用して、行/列で構成される表として構造化データを表示できます。 詳細を表示/非表示詳細表示


    ページへの読取り専用の表の追加

  4. Edit Table Columnsダイアログで、Row Selectionの「Single Row」オプションと「Enable Sorting」オプションを選択します。
    OK」をクリックします。

    Edit Table Columnsダイアログ・ウィンドウ

  5. Structureペインで「af:table」コンポーネントを選択し、プロパティ・インスペクタでBehaviorノードを開きます。 EditingModeプロパティをclickToEditに、ColumnStretchingLastに設定します。
    すべての作業を保存します。

    EditingModeをclickToEditに変更

  6. Data Controlsペインに戻り、「products」をProduct Detailsタブ・コンポーネント上にドラッグ・アンド・ドロップします。 ポップアップ・メニューで「Form」→「ADF Form」を選択します。

    Product DetailsタブにADF Formを追加

  7. Edit Form Fieldsダイアログで、「Include Submit Button」チェック・ボックスを選択します。
    OK」をクリックします。

    Edit Form Fieldsダイアログ

  8. ページは以下のイメージのようになります。

    ページの設計ビュー

  9. すべての作業を保存して、ページを実行します。

    ページの実行

  10. ページがロードされると、デフォルトで商品のリストが表示されます。

    ブラウザのページ

  11. 列ヘッダーの1つを選択して他の場所に移動します。

    ページ上の列の移動

    別の場所の列

  12. description列を使用して、列のサイズ変更を試します。

    列のサイズ変更

  13. name」列を選択し、「Detach」メニュー・オプションをクリックして、パネルのコンテンツをブラウザ内に独立表示します。
    Detach」オプションを再度クリックして元の表示に戻します。

    name列の独立表示

  14. Viewメニュー・オプションで一部の列を非表示にします。

    一部の列の非表示

    この列は、再表示するまで非表示のままとなります。 表の下にメッセージが表示されるため、非表示の列があることが分かります。
    試しの操作を終了したら、ブラウザを閉じてJDeveloperに戻ります。

    ブラウザ中の商品の表

  15. 次のいくつかのステップでは、ページにイメージやグラフィカル項目をいくつか追加します。
    Product Detailsペインで、「cost」フィールドを右クリックし、コンテキスト・メニューから「Convert To...」を選択します。

    グラフィカル・コンポーネントを使用して、エンドユーザーが簡単に操作できるようにする、さまざまな方法があります。 詳細を表示/非表示詳細表示


    Convert toメニューが選択された状態のcost列

    Convertダイアログで、「Input Number Spinbox」を選択します。
    OK」をクリックし、Confirm Convertボックスで再度「OK」をクリックします。

    Input Number Spinboxが選択されている状態

  16. image列の値がテキスト・タイプに設定されていることに注意してください。 イメージを表示するには、列の構造を変換する必要があります。 Product Detailsペインで「image」フィールドを右クリックし、コンテキストから「Convert To...」を選択します。

    image項目を選択してコンテキスト・メニューからConvert Toを選択

    Convertダイアログで「Image」を選択します。
    OK」をクリックし、Confirm Convertボックスで再度「OK」をクリックします。

    Convert ToダイアログでImageを選択

  17. 新しいimageフィールドを選択したまま、プロパティ・インスペクタに移動して、sourceフィールドのドロップダウン・リストから「Expression Builder」を選択します。

    Expression Builderメニュー・オプションをページに追加

  18. Expression Builderダイアログで、「ADF Bindings」→「bindings」→「image」→「inputValue」を選択します。
    OK」をクリックします。

    Expression Builderで#{bindings.image.inputValue}を選択

  19. Structureペインのimageコンポーネントの下で、「f:validator」コンポーネントを削除して、ページの設計に表示されているエラーを解消します。

    イメージに不要なバリデータを削除

  20. Product Detailsペインで「rating」フィールドを右クリックし、コンテキスト・メニューから「Convert To...」を選択します。


    rating項目を選択して、Convert Toメニュー・オプションを選択

    Convertダイアログで「Slider(Number)」を選択します。
    OK」をクリックし、Confirm Convertボックスで再度「OK」をクリックします。

    スライダ変換ペイン

  21. Product Detailsペインで「description」フィールドを右クリックし、コンテキスト・メニューから「Convert To...」を選択します。

    description項目でConvert Toを選択

    Convertダイアログで「Rich Text Editor」を選択します。
    OK」をクリックし、Confirm Convertボックスで再度「OK」をクリックします。

    ConvertペインでRich Text Editorを選択

  22. StructureペインのrichTextEditorコンポーネントの下で、「validator」コンポーネントを削除してページの設計に表示されているエラーを削除します。
    余分なバリデータの削除

  23. Product Detailsペインは次のように表示されます。
    すべての作業を保存します。

    設計ビューのページ

  24. ブラウザに戻ってページを再ロードします。

    ブラウザ中の再ロードされたページ(新しいウィジェットを含む)

  25. ratingスライダ、costスピンボックス、ポップアップ・カレンダーおよびRich Text Editorの操作を試します。

  26. 最後に、商品表の任意の行をダブルクリックします。 Product Detailsペインには、選択した商品の変更は反映されないので注意してください。 このような同期を実装するには、部分ページ・レンダリング機能を追加する必要があります。



ステップ4: 部分ページ・レンダリングの実装

Product表で別の行を選択した場合にProduct Detailsをリフレッシュするには、部分レンダリング動作を設定する必要があります。 そのために次の手順を実行してください。

部分ページ・レンダリングの目的は、Webページのインタラクティビティ、速度、ユーザビリティの向上です。 詳細を表示/非表示詳細表示
  1. JDeveloperに戻り、Product Detailsコンポーネントのaf:panelFormLoyoutに移動します。

    Structureペインでaf:panelFormLayoutを選択
  2. プロパティ・インスペクタでBehaviorノードを開き、Partial Triggerフィールド横の下矢印を使用して「Edit」を選択します。

    プロパティ・インスペクタおよび開いているBehaviorタブ

  3. Edit PropertyダイアログでpanelCollection* - pc1コンポーネントを開き、右矢印ボタンを使用して、Selectedペインにtable* - t1を移動します。 これにより、商品詳細を含むPanel Form Layoutのリフレッシュをトリガーする要素が定義されます。

    OK」をクリックして、すべての作業を保存します。

    部分トリガーのEdit Propertyペイン(Selected側に表あり)
  4. ブラウザ・ウィンドウに戻り、ページを再ロードします。

    ブラウザでのページの再ロード
  5. 表の別の行を選択し、商品詳細を変更します。 商品詳細が、表で選択されている商品レコードと同期されます。

    表で2番目のレコードが選択されており、Product Detailsタブにすべてのレコードが表示された状態
  6. ブラウザ・ウィンドウを開いたままにして、JDeveloperに戻ります。

ステップ5: 操作コンポーネントの使用

操作コンポーネントとは、アプリケーションに機能を提供するコンポーネントです。 このセクションでは、メニュー、ポップアップ、および印刷可能なページを作成し、エンドユーザーがショッピング・カートに商品をドラッグできるようにします。 このタイプの機能を実装するには、次の手順を実行します。

ADF Facesフレームワークでは、ページ上のある場所から別の場所に項目をドラッグ・アンド・ドロップできます。 詳細を表示/非表示詳細表示
  1. アプリケーションで実装のメニューをクリックし、JDeveloperに戻ります。 2番目のパネルで「menu」コンポーネント・ファセットを右クリックし、コンテキストから「Insert Inside Facet」→「Menu」を選択します。

    メニューが選択され、コンテキスト・メニューにファセット内へのメニュー挿入が表示されている状態
  2. プロパティ・インスペクタを使用して、TextフィールドをMy Optionsに設定します。

    また、Behaviorノードで、Detachableプロパティをtrueに設定します。

    プロパティ・インスペクタに変更されたメニュー・プロパティが表示される
  3. Menu」を右クリックして、コンテキストから「Insert Inside Menu - My Options」→「Menu Item」を選択します。

    My OptionsメニューとMenu Itemを示すコンテキスト・メニュー

    プロパティ・インスペクタで、TextプロパティをExport to Excelに設定します。

    プロパティ・インスペクタでTextプロパティをExport to Excelに設定
  4. Structureウィンドウで「af:commandMenuItem」コンポーネントを右クリックして、コンテキストから「Insert After af:commandMenuItem - Export to Excel」→「Menu Item」を選択します。

    他のメニュー項目の挿入

    プロパティ・インスペクタで、TextプロパティをShow Specialsに設定します。

    プロパティ・インスペクタのShow Specialsメニュー項目

  5. コンポーネント・パレットでADF FacesOperationsListenersライブラリ・ノードを開きます。 次に「Export Collection Action Listener」コンポーネントを選択して、Structureペインの「Export to Excel」メニュー項目の下にドロップします。

    メニュー項目へのリスナーの追加

    Insert Export Collectionダイアログで、ExportedIdにt1と入力し、Typeとして「excelHTML」を選択します。
    OK」をクリックします。

    TypeプロパティがexcelHTMLとなっているInsert Export Collectionダイアログ・ペイン
  6. すべての作業を保存し、ブラウザに戻ってページを再ロードします。

    新しいメニューを含むページを再ロード

     

  7. メニュー・オプション「My Options」をクリックします。

    メニューとメニュー項目が表示されているブラウザ上のページ

    メニュー・バーからメニュー・オプションが分離できます。

    ロールバックしてフローを追加
  8. Export to Excel」メニュー・オプションを選択します。

    切り離したメニュー・オプションと選択したExport to Excel
  9. ブラウザによっては、ダウンロード以外のファイルのダウンロードができない場合があります。 ダイアログが表示され、このファイルをどうするかを尋ねられます。ファイルをExcelで開くか、保存することができます。

    OpenまたはSave Asオプションでファイル名のペインを開く

    Cancel」をクリックします。 ブラウザ・ウィンドウを開いたままにして、JDeveloperに戻ります。

  10. 次に、ポップアップ・ウィンドウを作成して特定の商品のプロパティを拡張してみましょう。
    Structureペインで、「form」コンポーネントを選択します。 コンポーネント・パレットで、ADF FacesLayoutSecondary Windowsライブラリを開き、「Popup」項目を選択してformにドロップします。

    他の多くのADF Facesコンポーネントが含まれるポップアップ・コンポーネントを使用して、エンドユーザーからの情報やリクエスト入力を提供するさまざまなダイアログ、メニュー、ウィンドウを作成できます。 詳細を表示/非表示詳細表示
    Structureペインのaf:formで選択/ドロップされるポップアップ・コンポーネント
  11. popup」コンポーネントを右クリックして、コンテキスト・メニューから「Insert Inside popup」→「Dialog」を選択します。

    popupのコンテキスト・メニュー、Insert Inside popup、Dialog
  12. コンポーネント・パレットから、General Controlsを開いて、「Image」コンポーネントを選択し、Dialog内にドロップします。

    DialogペインにドロップされたImageコンポーネント(設計ビューで表示)

    Insert Imageダイアログでクリックし、ドロップダウン・リストからソースとして「/images/JDeveloper.gif」イメージを選択します。
    OK」をクリックします。

    ソースのファイル名を表示するInsert Imageペイン

  13. イメージの外部をクリックして、ダイアログを閉じます。 untitled1.jsfページが前面に移動されたら、Structureペインから「af:dialog」を選択します。

    Structureペインと設計ビューに表示されるaf:dialog
  14. コンポーネント・パレットで、「Operations」→「Behavior」ライブラリ→「Show Popup Behavior」コンポーネントを選択して、2番目のcommandMenuItem上にドロップします。

    メニュー項目にShow Popup BehaviorがドロップされているShow Specialsメニュー・オプション
  15. プロパティ・インスペクタのPopupIdフィールドで、ドロップダウン・リストから「Edit」を選択します。

    PopupIdフィールドのペインでEditを選択

    Edit Propertyダイアログでクリックし、ノードを開いて「popup - p1」コンポーネントを選択し、「OK」をクリックします。

    popup - p1が選択されているペイン

  16. すべての作業を保存し、ブラウザに戻ってページを再ロードします。
    My Options」メニューをクリックし、「Show Specials」を選択します。

    ブラウザでページを再ロードし、メニューでShow Specialを選択

    ダイアログにJDeveloperのイメージがポップアップ表示されます。
    ポップアップにJDeveloperイメージが表示される

  17. 次に、Product Detailsとショッピング・カートの間にドラッグ・アンド・ドロップ機能を追加し、簡単なドラッグ・アンド・ドロップ操作で、Product Detailsから商品をショッピング・カートに入れられるようにします。
    JDeveloperに戻って「Output Text」コンポーネントを選択し、My Cartペイン上にドロップします。

    Output TextコンポーネントをMy Cart上にドラッグ

    プロパティ・インスペクタで、Output Textの値としてNo Items Selectedを入力します。

    プロパティ・インスペクタで値をNo Items Selectedに設定
  18. コンポーネント・パレットで、「ADF Faces」→「Operations」→「Drag and Drop」ライブラリ→「Attribute Drag Source」コンポーネントを選択して、Product Detailsペインの「name」フィールドにドロップします。

    Attribute Dragをname項目にドラッグする操作

    Insert Attribute Drag Sourceダイアログで、ドロップダウン・リストから「value」を選択します。 Product Detailsペイン。

    Attributeプロパティをvalueに設定

    OK」をクリックします。

  19. コンポーネント・パレットの「ADF Faces」→「Operations」→「Drag and Drop」→「Attribute Drop Targetコンポーネントを選択して、No Item Selectedテキスト・フィールドにドラッグ・アンド・ドロップします。

    Attribute Drop TargetをNo Items Selectedコンポーネントにドロップ

    Insert Attribute Drop Targetダイアログで、Attributeフィールドで「valueを選択します。 「OK」をクリックします。

    Attributeプロパティをvalueに設定

  20. すべての作業を保存し、ブラウザでページが再ロードされたら、表中の項目を選択して対応するProduct Detailsを表示します。
    Product Detailsペインで、「name」フィールドを選択し、

    Product Detailsでname項目を選択

    ... My CartNo Items Selectedテキストにドラッグ・アンド・ドロップします。

    My CartペインのNo Items Selectedコンポーネントにドロップ

    商品がカートに追加されます。

    Cancel」をクリックします。 ブラウザ・ウィンドウを開いたまま、JDeveloperに戻ります。

    My CartにiPod Classicが入った状態のブラウザ・ページ

  21. 次のいくつかのステップでは、メニュー・オプションを追加して最新情報を取得し、印刷可能なページにします。 JDeveloperでは、他のMenu Itemを追加して、TextプロパティをPrintable Pageに設定します。

    Prinable Pageメニュー項目をMy Optionsメニューに追加

  22. OperationsBehaviorコンポーネントを開き、「Show Printable Page Behavior」をメニュー・オプションにドラッグします。

    Show Printable Page BehaviorをPrintable Pageにドロップする操作

  23. 次のいくつかのステップでは、ポップアップ・ページを追加してカルーセルを使用して商品を表示します。
    Layoutコンポーネントで、「Panel Group Layout」を選択して、Structureペインのf:facet - firstコンポーネントにドラッグします。

    回転するカルーセルにイメージを表示できます。 詳細を表示/非表示詳細表示


    Panel Group Layoutコンポーネントをfirstファセットにドロップ

  24. af:panel収集の上に移動します。 プロパティ・インスペクタでStyleノードを開き、Inline Styleを30pxに設定します。

    プロパティ・インスペクタで高さを30pxに設定

    ページは次のように表示されます。

    コンポーネントの設計ビュー

  25. General Controlsライブラリから「Button」をaf:panelGroupLayout上にドラッグします。 TextプロパティをPopupに設定します。

    コマンド・ボタンをpanelGroupLayoutに追加

  26. LayoutSecondary Windowsから、「Popup」をaf:panelGroupLayout上にドラッグします。 Popupボタンの下に配置されます。

    Structureペインで、コマンド・ボタンの下にpopupを追加
    ">

  27. 新しい「af:popup」をクリックして、「Insert Inside popup」→「Dialog」を選択します。

    af:popup内にダイアログを追加

    プロパティ・インスペクタで、ダイアログTypeokに設定します。

    プロパティ・インスペクタで、Typeプロパティをokに設定

  28. Data ControlsペインでStoreProductsを開き、「products」ノードを選択します。

    Data Controlsでproductsノードを選択

    ダイアログにドラッグしてドロップします。 メニューから「Carousel」を選択します。

    ダイアログにデータ・コントロールをCarouselとしてドロップ

  29. General Controlsライブラリで、「Image」コンポーネントを選択して、カルーセルにドラッグ・アンド・ドロップします。

    Imageコンポーネントをカルーセルにドロップ

    Insert Imageダイアログで、Sourceプロパティの値として#{item.image}を入力します。 ShortDescは空白にしておくことができます。
    OK」をクリックします。

    Insert Imageダイアログで、Sourceプロパティを#{item.image}に設定

  30. すべての作業を保存し、Structureペインで「af:panelGroupLayout」を選択して、untitled1ページを前面に戻します。

    commit returnを選択

  31. OperationsBehaviorライブラリを開いて、「Show Popup Behavior」コンポーネントをPopupボタンにドロップします。

    Show Popup BehaviorコンポーネントをPopupコマンド・ボタンに追加

  32. プロパティ・インスペクタで、PopupIdプロパティの「Edit」を選択します。

    プロパティ・インスペクタでPopupIdプロパティのEditを選択

  33. Edit Property: PopupIdダイアログで、viewdocumentformノードを開き、「popup - p2」コンポーネントを選択します。
    OK」をクリックします。

    Edit Propertyウィンドウでpopup - p2ボタンを選択

  34. プロパティ・インスペクタで、Trigger Typeプロパティをactionに設定します。

    プロパティ・インスペクタでTrigger Typeプロパティをactionに設定

  35. すべての作業を保存し、ページを実行します。 ブラウザに表示されたら、「My Options」→「Printable Page」をクリックします。

    My Options→Printable Pageが選択された状態でブラウザで実行されるページ

    ページの表コンポーネントがブラウザの別タブに表示され、プリンタに送信できる状態になります。

    最新パネルの印刷可能ページが表示されたページ

  36. 元のuntitled1.jsfページに戻り、「Popup」ボタンをクリックします。

    ページでPopupボタンを選択

  37. ポップアップ・ウィンドウに商品イメージが表示されます。 ウィジェットをクリックして、すべての商品イメージを表示します。 テストが完了したら「OK」をクリックします。

    カルーセルを含むポップアップが表示されているブラウザ・ページ

  38. ブラウザ・ウィンドウを開いたままにして、JDeveloperに戻ります。


ステップ6: Oracle ADFデータ可視化コンポーネントの使用

ゲージを追加して特定の商品の評価を表示しようとしています。 このゲージを作成するには、次の手順を実行します。

ADFデータ可視化コンポーネントには、データの表示/分析用の優れたグラフィカル/表形式機能があります。 詳細を表示/非表示詳細表示

  1. JDeveloperに戻って、「Rating」タブをクリックします。

    JDeveloperでRatingタブを選択
  2. コンポーネント・パレットで、ADF Data VisualizationGaugeライブラリから、「Gauge」コンポーネントをRatingペインにドラッグ・アンド・ドロップします。

    GaugeコンポーネントをRatingペインにドロップ
  3. Create Gaugeダイアログで、「Dial」カテゴリを選択してから、ゲージ・タイプに「Dial with Thresholds」を選択し、左端のクイック・スタート・レイアウト提案を選択します。 「OK」をクリックします。

    Dial with Thresholdsコンポーネントを選択
  4. Ratingペインに新しいゲージが表示されます。

    ゲージが設計に表示される
  5. プロパティ・インスペクタのValueフィールドで、ドロップダウン・リストから「Expression Builder」を選択します。

    ValueプロパティでExpression Builderを選択

    Expression Builderダイアログで、式に「ADF Bindings」→「
    bindings」→「rating」→「inputValue」を選択します。
    OK」をクリックします。

    ビルダーで式を#{bindings.rating.inputValue}に設定
  6. Structureペインで、「Gauge」コンポーネントを選択し、プロパティ・インスペクタで、Gauge DataMaxValueフィールドを10に設定します。

    OK」をクリックします。

    GaugeのMaxValueプロパティを10に設定

  7. Structureペインで、gaugethresholdSetコンポーネントを開きます。 最初のしきい値を選択し、プロパティ・インスペクタで、FillColorのドロップダウン・リストから「Edit」を選択します。

    最初のしきい値を選択し、FillColorプロパティのメニューからEditを選択

    Edit Propertyダイアログで、パレットから「reddish」を選択し、「OK」をクリックします。

    カラー・パレットで赤色を選択

    ThresholdMaxValue4に設定します。

    ThresholdMaxValueを4に設定

  8. Structureペインで、2番目のしきい値を選択して、FillColorプロパティにyellowishを使用して、最後の手順を繰り返し、ThresholdMaxValue7に設定します。

    2番目のしきい値で、FillColorを黄色に設定し、ThresholdMaxValueを7.0に設定

    最後に、3番目のしきい値を選択して、FillColorプロパティにgreenishを使用して、最後の手順を繰り返し、ThresholdMaxValue10に設定します。

    3番目のしきい値で、FillColorを緑に設定し、ThresholdMaxValueを10.0に設定
  9. Structureペインで、「dvt:gauge」コンポーネントを選択して、AppearanceShortDescプロパティをrating gaugeに設定します。

    プロパティ・インスペクタで、ShortDescをrating gaugeに設定
  10. すべての作業を保存します。 ゲージは次のイメージのように表示されます。

    設計中のゲージ
  11. ページ内を右クリックして、「Run」を選択します。

    コンテキスト・メニューからRunメニュー・オプションを選択

     

  12. 表から商品を選択し、「Rating」タブをクリックすると、ゲージにその商品の最新の評価値が表示されます。

    ブラウザで実行中のページ

    Product Details」タブをクリックし、スライダを移動して、評価値を変更します。

    商品詳細で、スライダを新しい値に移動

    Rating」タブをクリックして、ゲージに新しい値が反映されていることを確認します。

    Ratingタブを選択して、ゲージに新しい値を表示

ステップ7: スキンを使用したアプリケーションのルック・アンド・フィールの変更

最後に、パラメータ化されたcssファイルを使用して、アプリケーション全体のルック・アンド・フィールを変更する方法について説明します。 この機能を実装するには、以下の手順に従います。

ADF FacesおよびADFデータ可視化コンポーネントの外観をカスタマイズできます。 詳細を表示/非表示詳細表示
  1. アプリケーション・ナビゲータで、Web ContentWEB-INFノードを開き、「trinidad-config.xml」ファイルをダブルクリックして、エディタで開きます。

    アプリケーション・ナビゲータでtrinidad-config.xmlファイルを選択
  2. このファイルにはパラメータが含まれており、これを使用して別のcssファイルを使用できます。

    スキン・ファミリーのプロパティ値として、#{param.skin}を選択

  3. アプリケーション・ナビゲータのskinsprincessフォルダに、princess.cssファイルが存在します。

    アプリケーション・ナビゲータでprincess.cssファイルを選択


  4. ブラウザ・ウィンドウで、URLの最後の部分(untitled1.jspxページ名の後)を削除します。

    URLの最後の部分が選択されている、ブラウザ・ウィンドウのアドレス領域

  5. URLの末尾に文字列?skin=princessを追加し、[Enter]を押します。

    URLの末尾に次のテキストを追加: ?skin=princess

  6. アプリケーションのルック・アンド・フィールが変更されたことに注意してください。


    princessスタイルを適用してページを再ロード

    色、タブ、およびアコーディオンでprincess cssが使用されています。ページを試してみます。

    終了したら、ブラウザ・ウィンドウを閉じます。 これでこのチュートリアルは完了です。

まとめ
このチュートリアルでは、ページ・テンプレートの開発、テンプレートに基づくページの作成、ページへのデータ・コントロールの追加、部分ページ・レンダリングの使用、DVTコンポーネントの追加、およびcssファイルを使用したページのルック・アンド・フィールの変更を行いました。 このチュートリアルで学習した内容は、以下のとおりです。 レイアウト・コンポーネント、メニュー、ツールバー、操作コンポーネント、およびデータ可視化コンポーネントの使用について詳しくは、以下を参照してください。

ブックマーク 印刷 すべて表示 | すべて非表示
トップへ戻る

このページはお役に立ちましたか。



Copyright © 2011, Oracle and/or its affiliates. All rights reserved.