JSFを使用したAjaxベースのユーザー・インタ フェースの開発:Oracle ADF Faces Rich Clientコンポーネント概要

目的

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

所要時間

60分

トピック

このチュートリアルでは、以下のトピックについて説明します。

概要
シナリオ
前提条件
スタートアップ・アプリケーションの開始

ページ・フローの作成

レイアウト・コンポーネントを使用したページ設計
ADF表コンポーネントとADFバインディング
メイン・ページのテスト
イメージ・コンポーネントとゲージ・コンポーネントの使用
メニューの使用
入力コンポーネントの使用
部分ページ・レンダリングの実装
メイン・ページへのポップアップ機能の追加
メイン・ページへのドラッグ・アンド・ドロップ機能の追 加
スキンを使用したアプリケーションのルック・アンド・ フィールの変更
まとめ

スクリーンショットの表示

このアイコンの上にカーソルを置くと、すべてのスクリーンショットがロード し、表示されます。 (警告:この操作によって、同時にすべてのスクリーンショットがロードされるため、ご使用のインターネット接続によってはレスポンス時間が遅くなる場合が あります)。

注:各手順に関連したスクリーンショットのみを表示する場合は、それぞれの手順にあるアイコンの 上にカーソルを置いてください。 スクリーンショットをクリックすると、非表示になります。

概要

このチュートリアルでは、Oracle ADF Faces Rich Clientを使用してJSFページを作成する方法について説明し、ドラッグ・アンド・ドロップ、ポップアップ、イメージなどの容易に実装できる機能を紹 介します。

トピック・リスト に戻る

シナリオ

既存のアプリケーションから始めて、2ページのページ・フロー・ ダイアグラムを作成します。

メイン・ページの片側に買い物かごのコンテンツを表示し、反対側 に選択可能な製品を表示します。 ドラッグ・アンド・ドロップ機能を実装し、選択した製品を買い物かごエリアに移動することで、買い物かごに入れられるようにします。 また、タブおよびアコーディオンを作成し、ポップアップ・ウィンドウを追加します。

編集ページに製品の詳細情報を表示し、選択した製品の特徴を更新 できるようにします。

トピック・リストに戻る

前提条件

このチュートリアルを始める前に、次のことを確認してください。

1.

Oracle JDeveloper 11g製品版にアクセスできるか、または インストール済みである必要があります。 この製品は、 Oracle Technology Network(OTN)からダウンロードできます。

 

2.

スタートアップ・アプリケーションをダウンロードします。 次の リ ンクを右クリックしてコンテキスト・メニューから「 対象をファイルに保存」を選択し、 Tutorial.zipファ イルを任意のローカル・ディレクトリにダウンロードします。

 

3.

選択したローカル・ディレクトリ上で、 Tutorial.zipファ イルを解凍します。

 

4.

JDeveloperを起動します。 解凍先のルート・ディレクトリ( <jdev_home> ) にあるJDeveloperの実行可能ファイルである「 jdeveloper.exe 」 をダブルクリックします。

Migrate User Settingsダイアログ・ボックスが開いたら、「 NO」 をクリックします。

ユーザー・ロールを設定するよう指示されたら、「 Default」 を選択します。

Tip of the Dayウィンドウを 閉じます。

 

5.

JDeveloper IDEが表示されます。

トピック・リストに戻る

スタートアップ・アプリケーションの開始

コンポーネントを作成する前に、まずはスタートアップ・アプリ ケーションを開始する必要があります。 以下の手順に従います。

1.

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

2.

Select Application to addダイアログで、 C:\labs\ADFRichClient\Tutorial\ディ レクトリへ移動し、「 Tutorial.jws」を選択します。

Open」をクリックします。 移行の警告メッセージが表示された場合は、移行の操作を受け入れます。

 

3.

アプリケーション・ナビゲータにアプリケーションがロードされます。

4.

adffacesrc」ノードを展開します。 アプリケーション・ナビゲータは、次のように表示されます。

トピック・リストに戻る

ペー ジ・フローの作成

ここでは、JDeveloperのJSFナビゲーション・モデラーでダイアグラムを使用して、アプリケーショ ン・ページ、およびページ間のナビゲーションの計画と作成をおこないます。

1.

アプリケーション・ナビゲータで「 Web Content」→「 WEB-INF」 ノードを展開し、「 faces-config.xml」ファイルをダブルクリックしてページ・フロー・ダイアグラムを 開きます。

2.

空のダイアグラムが開きます。 ダイアグラム・エディタの右側にコンポーネント・パレットが表示されます。 これを使用して、JSFナビゲーション・モデルのコンポーネントを作成します。

3.

コンポーネント・パレットのJSFナビゲーション・ダイアグラム・ページで JSF Page「」を選択し、ダイアグラムにページを表示する場所をクリックします。

ページの名前を main.jspxに変更します。

4.

コンポーネント・パレットのJSFナビゲーション・ダイアグラム・ページで「 JSF Page」を 選択し、先ほどのページの横をクリックします。

ページの名前を edit.jspxに変更します。

5.

コンポーネント・パレットで JSF Navigation Case「」を選択します。 ソースJSFページのアイコン( main)を クリックし、ナビゲーション・ケースのリンク先JSFページのアイコン( edit)をクリックします。

6.

デフォルトのラベルである'success'をクリックして、 editと上書きします。

7.

コンポーネント・パレットで「 JSF Navigation Case」を選択します。 ソースJSFページ( edit.jspx) のアイコンをクリックし、ナビゲーション・ケースのリンク先JSFページ( main.jspx)のアイコンをクリック します。

8.

デフォルトのラベルである'success'をクリックして、 saveと上書きします。

9.

これで、ダイアグラムは次のように表示されます。

10.

JDeveloperメニュー・バーの Save Allアイコン「」をクリックするか、メニューから「 File」→「 Save All」を 選択してダイアグラムを保存します。

 

トピック・リストに戻る

レ イアウト・コンポーネントを使用したページ設計

メイン・ページおよびデータ・コントロールを作成するには、以下の手順に従います。

1.

ビルトイン・アプリケーションのページ・フロー・ダイアグラムには、すでに2つのページと2つのナビゲーション・ケースが定義されてい ます。 ただし、現時点でこれらのページはJSFページではありません。

2.

main.jspx」アイコンをダブルクリックしてページを作成し、エディタで開きます。

3.

Create JSF Pageダイアログで、ファイル名をデフォルト値の main.jspxのま まにして、 Create as XML Document (*.jspx)チェック・ボックスが選択されていること を確認します。 Use Page Templateフィールドのドロップダウン・リストから「 simple」を選択 します。

OK」をクリックします。

 

4.

アプリケーション・ナビゲータに新規ノードとして main.jspxが表示され、 simple.jspxテンプレートがロードされた設計エディタが開きます。

5.

コンポーネント・パレットの「 ADF Faces」→「 Layout」 ライブラリを使用して、「 Panel Splitter」コンポーネントをドラッグし、 centerファ セットにドロップします。

6.

プロパティ・インスペクタで「 Style」タブを選択し、StyleClassフィールドに AFVisualRootと 入力します。

7.

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

8.

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

9.

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

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

10.

Structureウィンドウで、(パネル・スプリッタのfirstから)「 af:showDetailItem」 コンポーネントを選択し、Textフィールドに Shopping Cartsを設定します。

11.

Moreテキストのそばのプラス記号をクリックした 場合、次のイメージのようになります。 ページの ' 2番目の ' パネルをクリックし、「 af:showDetailItem」コンポーネントを選 択します。

プロパティ・インスペクタのCommonタブで、Textフィールドの値を Productsに変更 します。

12.

ページ内に新しく作成したProducts詳細項目を右クリックし、コンテキスト・メニューから「 Insert after Show Detail Item - Products」→「 Show Detail Item」 を選択します。

プロパティ・インスペクタのCommonタブで、Textフィールドの値を Specialsに変更 します。

13.

2番目のパネルで「 Product」タブをクリックします。次に「 ADF Faces」 →「 Layout」ライブラリから「 Panel Collection」コンポー ネントをドラッグし、2番目のパネルにドロップします。

ページ・デザインは次のように表示されます。

トピック・リストに戻る

ADF表コンポーネントとADFバインディング

データ・コントロールを作成し、ADF表コンポーネントにバインドするには、以下の手順に従います。

1.

次に、ADFデータ・バインディング機能を使用して、既存のPOJOクラスからデータ・コントロールを作成します。

アプリケーション・ナビゲータで、「 Application Sources」→「 tutorial.model」 パスから「 StoreProducts.java」を右クリックし、コンテキスト・メニューから「 Create Data Control」を選択します。

アプリケーション・ナビゲータは、次のように表示されます。

2.

アプリケーション・ナビゲータで「 Data Controls」を展開します。

Data Controlsペインは次のように表示されます。

 

3.

StoreProductsの「 products」データ・コ ントロールをドラッグして、Structureウィンドウの af:panelCollectionへドロップします。

ポップアップ・メニューから「 Tables」→「 ADF Read-only Table」を選択します。

4.

Edit Table Columnsダイアログで、「 Row Selection」オプションと 「 Sorting」オプションを選択します。

OK」をクリックします。

 

5.

Structureウィンドウで表が選択された状態で、プロパティ・インスペクタの Behaviorタ ブにおいて、 Column Selectionプロパティのドロップダウン・リストから「 multiple」 を選択します。

6.

JDeveloperメニュー・バーの Save Allアイコン「」をクリックするか、メニューから「 File」→「 Save All」を 選択します。

 

7.

ページ内を右クリックし、コンテキスト・メニューから「 Run」を選択して、デフォルトのWebブ ラウザでページを実行します。

トピック・リストに戻る

メイ ン・ページのテスト

メイン・ページのテストをおこなうには、以下の手順に従います。

1.

デフォルトのWebブラウザにページがロードされたら、既存の製品データが表示されます。

2.

水平スクロール・バーを使用して、右端の列を表示します。

3.

列ヘッダーをクリックして、製品の namecategoryで 降順および昇順ソートを実行します。 矢印はカーソルを列のヘッダー上に移動した場合にのみ表示されます。

4.

name」列を選択し、「 Freeze」メニュー・オプショ ンをクリックします。

次に、水平スクロール・バーを再度使用して、右端の列を表示します。

name列が表示されたままになっていることを確認します。

 

5.

name列の を小さくし、製品名の後半部分が表示されないよ うにします。

6.

Wrap」メニュー・オプションをクリックします。

複数の単語で構成された名前が改行されていることを確認してください。

7.

Detach」メニュー・オプションをクリックして、パネルのコンテンツをブラウザ内に独立表示 します。

Detach」ボタンを再クリックして、前のレイアウトに戻ります。

8.

View」メニュー・オプションを使用して、いくつかの列を非表示にします。

9.

Format」メニュー・オプションを使用して、列のサイズを変更します。

  ブラウザのウィンドウを閉じます。

トピック・リストに戻る

イメージ・コンポーネン トとゲージ・コンポーネントの使用

JSFページでは、製品イメージを表示できます。 これらのイメージは、スタートアップ・アプリケーションに含まれています。 JSFページでのイメージ表示を拡張するには、以下の手順に従います。

1.

JDeveloperに戻り、Structureウィンドウで「 af:panelTabbed」→ 「 af:showDetailItem」→「 af:panelCollection」 →「 af:table」を展開し、5番目の列(image列)「 af:column」 を展開して「 af:outputText」を選択します。

image列の値がテキスト・タイプに設定されています。 イメージを表示するには、列の構造を変換する必要があります。

 

2.

Structureウィンドウで、選択したコンポーネントの「 af:outputText {#row.image}」 を右クリックし、コンテキスト・メニューから「 Convert」を選択します。

3.

Convert Output Textダイアログで、「 Image」コンポーネントを選択しま す。

OK」をクリックします。

Confirm Convertダイアログで、「 OK」をクリックします。

 

4.

プロパティ・インスペクタの af:imageコンポーネントで、Sourceフィールドに #{row.image}を 設定します。

5.

Structureウィンドウで、 rating列に対応する「 af:column」 コンポーネント(次のイメージを参照)を展開します。

6.

コンポーネント・パレットで「 ADF Data Visualization」を選択し、 Gaugeリ ストから「 Gauge」コンポーネントを選択してドラッグし、 outputText上 にドロップします。

Create Gaugeダイアログで、デフォルトを受け入れて「 OK」 をクリックします。

7.

Gaugeコンポーネントのプロパティ・インスペクタの Commonタブで、Valueフィールド に #{row.rating}を設定します。

8.

Appearance」タブを選択します。 Gauge Typeに<default>が設定されていることを確認してから、ImageHeightに 100、 ImageWidthに 100を設定します。

9.

ページ・デザインを右クリックし、コンテキスト・メニューから「 Run」を選択してブラウザでペー ジを実行します。

10.

ブラウザにページがロードされ、各製品のイメージが表示されます。

右方向にスクロールして、評価列を表示します。

11. ブラウザ・ウィンドウを閉じます。

トピック・リストに戻る

メ ニューの使用

ページにメニュー機能を実装するには、以下の手順に従います。

1.

JDeveloperに戻り、2番目のパネルで「 menu」コンポーネント・ファセットを右ク リックし、コンテキスト・メニューから「 Insert inside Facets menus」→「 Menu」 を選択します。

2.

menu」コンポーネント・ファセットを再度右クリックし、コンテキスト・メニューから「 Insert inside Facets Menu - menu 1」→「 Menu Item 」を選択します。

3.

Menu Itemのプロパティ・インスペクタでTextフィールドを Edit Itemsに変更 し、Menu ActionセクションでActionフィールドを editに設定します。

4.

Structureウィンドウで「 af:commandMenuItem」コンポーネントを右ク リックして、コンテキスト・メニューから「 Insert after af:commandMenuItem - Edit Items」 →「 Menu Item」を選択します。

5.

Menu Itemのプロパティ・インスペクタでTextフィールドを Remove Itemsに 変更し、Menu ActionセクションでActionフィールドを editに設定します。

6.

Structureウィンドウで「 af:menu - menu1」コンポーネントを選択してプロ パティ・インスペクタを使用し、Textフィールドを Adminに変更します。

7.

JDeveloperメニュー・バーの Save Allアイコン「」をクリックするか、メニューから「 File」→「 Save All」を 選択します。

トピック・リストに戻る

入力コ ンポーネントの使用

次に、製品の詳細情報の表示と更新がおこなえる編集ページを作成します。 編集ページを作成するには、以下の手順に従います。

1.

faces-config.xml」タブをクリックして、ページ・フロー・ダイアグラムを表示し ます。

2.

edit.jspx」アイコンをダブルクリックして、編集ページを作成します。

3.

Create JSF Pageダイアログで、File Nameフィールドをデフォルトのままにし、 simpleペー ジ・テンプレートを使用し、「 Create as XML Document」チェック・ボックスを選択します。

OK」をクリックします。

 

4.

指定したテンプレートの特徴をもつ新しいページが開きます。

5.

Data Controlsペインから「 products」をドラッグし、 centerファ セット上にドロップします。

6.

動的メニューから「 Forms」→「 ADF Form...」 を選択します。

7.

Edit Form Fieldsダイアログで、「 Include Navigation Controls」 オプションと「 Include Submit Button」オプションを選択します。

OK」をクリックします。

 

8.

ページで「 Submit」を選択してプロパティ・インスペクタを使用し、Actionフィールドを saveに 設定します。

9.

ページに戻り、「 rating」項目を右クリックし、コンテキスト・メニューから「 convert」 を選択します。

10.

Convertダイアログで「 Input Number Slider」を選択します。

OK」をクリックします。

Confirm Convertダイアログで、「 OK」をクリックしてデフォルトを受け入れます。

11.

プロパティ・インスペクタで Input Number Sliderコンポーネントの Minimumフィールドに 1を設定します。

12.

ページ・デザインに戻り、「 category」項目を選択して削除します。

13.

Data Controlsペインで「 products」を展開し、「 category」 をドラッグして cost項目の上にドロップします (前述の name項目の右側に ドラッグします)。

14.

動的メニューから「 Single Selections」→「 ADF Select One Choice...」を選択します。

15.

Edit List Bindingダイアログで「 Fixed List」オプションを選択しま す。次に、Base Data Source Attributeのドロップダウン・リストから「 category」 を選択します。 Set of Valuesペインに次の値を入力します。

Electronics
Computers
Software

OK」をクリックします。

 

16.

コンポーネント・パレットの「 ADF Faces Common Components」から「 Image」 を選択してドラッグし、image項目の下にドロップします。

17.

Insert Imageダイアログで、Sourceフィールドの横で「 Expression Builder」 を選択します。

18.

Expression Builderダイアログが表示されたら、コンポーネントを次のデータにバインドします。 「 ADF Binding」→「 bindings」、「 image」、「 inputValue」 を選択し、Expressionフィールドに追加します。

OK」をクリックします。

 

19.

Insert Imageダイアログに戻り、「 OK」をクリックします。

20.

再度ページ・フロー・ダイアグラムを開き、「 main.jspx」アイコンを右クリックして、コン テキスト・メニューから「 Run」を選択します。

21.

Admin」を展開し、「 Edit Items」を選択して 編集ページを呼び出します。

22.

編集ページが表示されます。

23.

categoryフィールドの隣にある LOVを使用して、新し い値を選択してみます。

24.

manufacturedフィールドの隣にある カレンダーを表 示して、新しい値を選択してみます。

25.

イメージ・ファイルの名前を変更します( nanoから classic、 またはその逆など)。

参照ファイル名を変更しても、表示されるイメージは変わりません。 この問題は、次の項で部分ページ・レンダリングを使用して解決します。

 

26. ブラウザを閉じて、JDeveloperに戻ります。

トピック・リストに戻る

部 分ページ・レンダリングの実装

編集ページでイメージ・ファイル名を変更した場合などにページをリフレッシュしたい場合は、部分レンダリング動 作を設定する必要があります。 この機能を実装するには、以下の手順に従います。

1.

JDeveloperに戻り、「 Edit.jspx」ページを開いて「 image」 フィールドを選択します。

Commonタブで、Idフィールドに image1と入力します。

プロパティ・インスペクタのBehaviorタブで、AutoSubmitプロパティに trueを 設定します。

2.

ページでイメージ・アイコンを選択してプロパティ・インスペクタを使用し、BehaviorタブのPartialTriggers フィールドに image1と入力します。

JDeveloperメニュー・バーの Save Allアイコン「」をクリックするか、メニューから「 File」→「 Save All」を 選択します。

 

3.

再度ページ・フロー・ダイアグラムを開き、「 main.jspx」 アイコンを右クリックして、コンテキスト・メニューから「 Run」を選択します。

4.

Admin」メニュー項目を開き、「 Edit Items」 オプションを選択します。

5.

ブラウザに 編集ページが表示されます。

6.

イメージ名(例: nano.gif)を別の値(例: classic .gif) に変更できます。

[Tab]キーでこのテキスト・フィールドから移動すると、ファイル名を反映した新しいイメージがすぐに表示されます。

 

7.

スライダを動かして評価レベルを変更します。

Submit」をクリックして、変更を確定します。

 

8.

メイン・ページに戻ると、該当項目のイメージと評価値が置換されていることがわかります。

9.

ブラウザを閉じて、JDeveloperに戻ります。

 

トピック・リストに戻る

メイン・ペー ジへのポップアップ機能の追加

次に、特定の製品プロパティを拡張するポップアップ・ウィンドウを作成します。 ポップアップ機能を作成するには、以下の手順に従います。

1.

設計エディタで mainページを開いて、「 Specials」 タブを選択します。

2.

コンポーネント・パレットの「 ADF Faces」→「 Layout」 から「 Panel Box」コンポーネントを選択してドラッグし、Specialsタブ上にドロップします。

プロパティ・インスペクタで、Textフィールドに Today's Specialと入力します。

3.

Shopping Carts」パネルをクリックして選択し、コンポーネント・パレットで「 Panel Box」コンポーネントをドラッグして Shopping Cartsパネルにドロップします。

4.

PanelBoxのプロパティ・インスペクタで、Textフィールドに Your Shopping Cartと 入力します。

5.

コンポーネント・パレットのADF Faces Common Componentsライブラリから「 Output Label」をドラッグし、 Today's Specialsコンポーネント上にドロップします。

プロパティ・インスペクタで、Valueフィールドに Special Promotionと入力します。

6.

コンポーネント・パレットのADF Faces Common Componentsライブラリから「 Output Text」をドラッグし、 Special Promotionラベルの隣にドロップします。

7.

プロパティ・インスペクタでValueフィールドの値を削除してから、このフィールドの 隣にある下矢印アイコンをクリックします。 リストから「 Expression Builder」を選択します。

8.

ExpressionダイアログでExpressionフィールドが空であることを確認します。次に、Variableペインで「 JSF Managed Beans」→「 backing_dnd」→「 todaySpecialProduct」 を展開して「 name」を選択します。

OK」をクリックします。 これにより、バッキングBeanの名前変数の値として Oracle JDeveloperが表示されます。

9.

ADF Faces Common Componentsから「 Button」コンポーネントをド ラッグし、Oracle JDeveloperの出力テキストの隣にドロップします。

10.

プロパティ・インスペクタで、Textフィールドに More Infoと入力します。

11.

コンポーネント・パレットで「 ADF Faces」→「 Operations」 を展開し、「 Show Popup Behavior」をドラッグして More Infoボ タン上にドロップします。

12.

プロパティ・インスペクタでPopupIdフィールドに popmoreと入力し、Alignフィー ルドのドロップダウン・リストから「 afterEnd」を選択します。

13.

コンポーネント・パレットで「 ADF Faces」→「 Common Components」を展開し、「 Popup 」を ドラッグして、Structureウィンドウの outputTextコンポーネントのすぐ下にドロップします。

14.

Structureウィンドウで「 af:popup」コンポーネントを右クリックして、コンテキス ト・メニューから「 Insert inside af:popup」→「 Panel Window」を 選択します。

15.

コンポーネント・パレットから「 Output Text」をドラッグし、パネル・ウィンドウ上にド ロップします。

16.

コンポーネント・パレットから「 image」コンポーネントをドラッグし、前述の出力テキストの上 に挿入されるようにStructureウィンドウにドロップします。

17.

Insert Imageダイアログで、Sourceフィールドの横で「 Expression Builder」 オプションを選択します。

Expression Builderダイアログで、「 JSF Managed Beans」→「 backing_dnd」 →「 todaySpecialProduct」を展開し、「 image」を選択し てExpressionフィールドに挿入します。

OK」をクリックします。

OK」をクリックします。

 

18.

Structureウィンドウで先ほどの出力テキストを選択し、プロパティ・インスペクタを使用して、Valueフィールドの隣にある 下 矢印をクリックして、リストから「 Expression Builder」を選択します。

19.

Expression BuilderダイアログでExpressionフィールドの値を消去して、 Special Priceと入力します。 次に、「 JSF Managed Beans」→「 backing_dnd」 →「 todaySpecialProduct」を展開し、「 cost」を選択しま す。 「 Insert into Selection」ボタンをクリックして、Expressionフィールドに選択 項目を移動します。

OK」をクリックします。

 

20.

JDeveloperメニュー・バーの Save Allアイコン「」をクリックするか、メニューから「 File」→「 Save All」を 選択します。

 

トピック・リストに戻る

メ イン・ページへのドラッグ・アンド・ドロップ機能の追加

次に、本日のおすすめ品と買い物かごの間にドラッグ・アンド・ドロップ機能を作成し、簡単なドラッグ・アンド・ ドロップ操作で、本日のおすすめ品項目を買い物かごに入れられるようにします。 ドラッグ・アンド・ドロップ機能を実装するには、以下の手順に従います。

1.

todaySpecial backing_dndバッキングBeanにバインドされている「 outputText」 コンポーネントを選択します。
コンポーネント・パレットで「 ADF Faces」→「 Operations」を 展開し、「 Client Attribute」コンポーネントをドラッグして、Structureウィンドウにある Special PromotionのoutputTextコンポーネントのすぐ下にドロップします。

プロパティ・インスペクタで、Nameフィールドに Itemと入力し、Valueフィールドの隣に ある下矢印をクリックして、リストから「 Expression Builder」を選択します。

2.

Expression BuilderダイアログでExpressionフィールドの値を削除してから、「 JSF Managed Beans」→「 backing_dnd」→「 todaySpecialProduct」 を開き、「 name」を選択してバッキングBeanにバインドします。

OK」をクリックします。

 

3.

コンポーネント・パレットで「 ADF Faces」→「 Operations」 を展開し、「 Attribute Drag Source」コンポーネントをドラッグして、Structureウィン ドウにある af:clientAttributeコンポーネントのすぐ下にドロップします。

4.

Insert Attribute Drag Sourceダイアログで、Attributeフィールドに「 Item」 を選択します。

OK」をクリックします。

 

5.

JDeveloperメニュー・バーの Save Allアイコン「」をクリックするか、メニューから「 File」→「 Save All」を 選択します。

 

6.

次に、Shopping Cartパネル側の作業をおこないます。コンポーネント・パレットで「 Drop Target」コンポーネントをドラッグし、 Shopping Cartsペインにドロップしま す。

7.

Insert Drop Targetダイアログで、 DropListenerフィールドの隣にあ る「 ...」ボタンをクリックします。

8.

Edit Propertyダイアログで、Managed Beanフィールドのドロップダウン・リストから「 backing_dnd」 を選択します。Methodフィールドには「 handleDrop」を選択します。

OK」を2回クリックします。

 

9.

Data Flavor」を Drop Targetにドラッ グ・アンド・ドロップします。

Insert Data Flavorダイアログで、Flavor Classフィールドに java.lang.Stringと 入力します。

OK 」をクリックします。

 

10.

Structureウィンドウの 2番目のペイン・タグにある「 af:popup」 コンポーネントを選択し、プロパティ・インスペクタで、CommonタブのIdフィールドに popmoreと入力しま す。

11.

Structureウィンドウで、 1番目のタグを選択して、ページ・エディタを再同期します。 買い物かごの内容を表示するには、コンポーネント・パレットで「 ADF Faces」→「 Common Components」から「 Output Text」をドラッグし、 Shopping Cartsペインの Your Shopping Cartパネル・ボックスのすぐ下にドロップしま す。

12.

プロパティ・インスペクタで、Valueフィールドの隣にある 下矢印をクリックして、リストから「 Expression Builder」を選択します。

Expressionペインのテキストを削除します。次に、Variablesセクションで「 JSF Managed Beans」→「 backing_dnd」を展開して「 dndValue」 を選択し、Expressionフィールドに挿入します。

OK」をクリックします。

プロパティ・インスペクタで、Output Textタグで「 Style」タブを選択し、 InlineStyleフィールドに color:Greenと入力します。 これにより、Cart is Emptyメッセージがページに表示されます。

13. JDeveloperメニュー・バーの Save Allアイコン「」をクリックするか、メニューから「 File」→「 Save All」を 選択します。
14.

ページ・ダイアグラムに戻り、「 main.jspx」アイコンを右クリックして、コンテキスト・メ ニューから「 Run」を選択します。

15.

ブラウザにページがロードされます。

16.

Specials」タブをクリックします。

おすすめ品をポップアップ表示する「 More Info」ボタンをクリックします。

17.

Today's Specials」ラベルを選択してドラッグし、左側のペインの Your Shopping Cartセクションにドロップします。

18.

買い物かごに、購入した製品が表示されています。

 

ブラウザ・ウィンドウを閉じます。

トピック・リストに戻る

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

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

1.

次の選択が正しく設定されているかを確認します。 「 Tools」→「 Preferences」 を選択します。次に、Preferencesダイアログで、「 CSS」ノードを選択し、 Supported CSS LevelCSS level 2 revision 1に設定します。

アプリケーション・ナビゲータで「 Web Content」→「 WEB-INF」 ノードを展開し、「 trinidad-config.xml」ファイルをダブルクリックしてエディタで開きます。

2.

このファイルにはパラメータが含まれており、これを使用して別のcssファイルを使用できます。

3.

アプリケーション・ナビゲータの「 skins」→「 princess」 フォルダにある princess.cssファイルに注目します。

4.

faces-config」ファイルを再度開き、「 main」 アイコンを右クリックして、コンテキスト・メニューから「 Run」を選択してアプリケーションを再実行します。

5.

ブラウザ・ウィンドウにメイン・ページがロードされたら、URLの末尾に文字列 &skin=princessを 追加して[ Enter]キーを押します。

6.

ページのルック・アンド・フィールが変わったことを確認します。 色、タブ、およびアコーディオンでprincess cssが使用されています。

7.

ブラウザを閉じます。 これでOBEは完了です。

 

ソ リューション・アプリケーションを開いて実行

すべてのレッスンをおこなう時間がない場合は、ソリューション・アプリケーションをロードし、実行できます。

1.

C:\labs\ADFRichClient\tutorialSolution\TutorialSolution.jws」 ファイルをJDeveloperで開きます。

 

2.

faces-config.xml」ファイルを開き、「 main.jspx」 アイコンを右クリックし、「 Run」を選択します。 前項で説明したすべての機能をテストできます。

 

 

 

まとめ

このチュートリアルでは、Oracle ADF Faces Rich Clientを使用してJSFページを作成し、いくつかの高度な機能を使用する方法について学習しました。

スタートアップ・アプリケーションの開始
ページ・フローの作成
メイン・ページの作成
メイン・ページのテスト
メイン・ページへのイメージの追加
編集ページの作成
メイン・ページへのポップアップ機能の追加
メイン・ページへのドラッグ・アンド・ドロップ機能の追加
アプリケーションのルック・アンド・フィールの変更

トピック・リストに戻る

このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。