このチュートリアルでは、データベースとやり取りするリッチ・ インターネット・アプリケーション(RIA)を構築する方法を説明します。 このアプリケーションの構築には、Oracle JDeveloper 11gとOracle Application Development Framework(Oracle ADF)のフレームワークを使用します。その過程で、Oracle ADFビジネス・コンポーネント、Oracle ADF Faces Rich Clientコンポーネント、およびOracle ADFタスク・フローを使用して作業します。
所要時間
約2時間
|
概要 |
|
シナリオ |
|
前提条件 |
|
新規Fusionアプリケーションとビジネス・コンポーネ ントの作成 |
|
ビジネス・コンポーネントの改良 |
|
JSF Webページの作成 |
|
JSFページへのデータ・コントロールのバインド |
|
さらに複雑なビジネス・サービスの追加 |
|
ページ・フローの作成 |
|
ADF Facesフレームワーク機能の使用 |
|
読取り専用のビジネス・サービス、ページの断片および領域 の作成 |
|
まとめ |
注:各手順に関連したスクリーンショットのみを表示する場合は、それぞれの手順にあるアイコンの 上にカーソルを置いてください。 スクリーンショットをクリックすると、非表示になります。
このチュートリアルで作成するアプリケーションでは、部門と従業員に関する情報を表示します。 データベース内のデータの問合せおよび更新を実行できるように、複数のJSFページを作成します。
1. |
このチュートリアルでは、Oracle Databaseの最新バージョンに付属するサンプルのHRスキーマを使用します。
|
2. |
SQL>プロンプトで次のコマンドを入力します。
|
3. |
インストールで作成されたショートカットを使用して、Oracle JDeveloperを起動します。
旧バージョンから移行するよう指示された場合は、「
No」を選 択します。
|
1. |
アプリケーション・ナビゲータで、「 New Application」 をクリックします。 または、メニュー・オプションの「 File」→「 New」を 選択して、新規アプリケーションを作成します。
|
2. |
Create Fusion Web Applicationダイアログ・ボックスで、Application Nameを HRSystemと指定します。 新しいアプリケーション名を入力すると、それに合わせてディレクトリが変更されます。 ほかの場所にファイルを作成したい場合は、パスのC:\JDeveloper\myworkの部分を変更できます。 Application Package Prefixフィールドの値を demoに設定します。 Application Templateで「 Fusion Web Application (ADF)」テンプ レートを選択して、「 Finish」をクリックします。
|
3. |
アプリケーション・ナビゲータには、2つの新しいプロジェクトが表示されます。1つはModel、もう1つは ViewControllerです。 「 Model」プロジェクトをクリックしたあと、右クリックして「 New...」 を選択します。このとき、[Ctrl]+[N]を押すこともできます。
|
4. |
New Galleryダイアログで、
Business Tierノードを見つけて、サブノード「
ADF Business Components」をクリックします。
|
5. |
Initialize Business Components Projectダイアログで、データベースへの新規接続を定義します。 Connectionフィールドの横にある
緑色の+ボ タン「
|
||||||
6. |
作成する新規接続のプロパティを次のように指定します。
ローカルのOracle Database Express Edition(Oracle XE)に接続しない場合は、Oracle (JDBC) Settingsを適切に変更して、データベースの正しいサーバー、ポート、およびSIDを指定する必要があります。 「 Test Connection」ボタンをクリックして、成功したことを確認します。 確認したら、「 OK」 ボタンをクリックします。 |
||||||
7. |
「 OK」ボタンを再度クリックし、Initialize Business Components Projectダイアログを閉じます。
|
||||||
8. |
Entity Objectsページで、「 Query」ボタンをクリックし、データ・ディクショナ リを調べて利用可能な表を表示します。
|
||||||
9. |
Availableリストから「 DEPARTMENTS」表と 「 EMPLOYEES」表を選択します。右矢印をクリックして、これらをSelectedリストに移動します。 この手順により、選択する表に基づいて、更新可能なエンティティ・オブジェクトが作成されます。 「 Next」をク リックして続行します。
|
||||||
10. |
Updatable View Objectsダイアログで、 Departments1 (HR.DEPARTMENTS)と Employees1 (HR.EMPLOYEES)をSelectedリストに移動します。 この手順により、以前に作成したエンティティ・オブジェクトで問合せを実行するための適合するビュー・オブジェクトが作成されます。 「 Next」 をクリックして続行します。
|
||||||
11. |
Read-Only View Objectsダイアログで、「 Query」ボタンをクリックし、 JOBSを Selectedリストに移動します。 この手順により、Jobs表に対する問合せをおこなう、読取り専用のビュー・オブジェクトが作成されます。 「 Next」 をクリックして続行します。
|
||||||
12. |
Application Moduleダイアログで、「 Finish」をクリックして、Model プロジェクトのビジネス・コンポーネントを作成します。
|
||||||
13. |
アプリケーション・ナビゲータで「 AppModule」を右クリックし、「 Run」 を選択して、アプリケーション・モジュール・テスターを起動します。 このテスターは、Swingベースの小さなアプリケーションです。これを使用して、作成したばかりのOracle ADFビジネス・コンポーネントをテストできます。
|
||||||
14. |
Oracle Business Component Browserウィンドウで、「 EmpDeptFkLink1」 ノードをダブルクリックすると、部門と従業員の詳細が表示されます。 青色の矢印ボタンを使用してレコードを移動 し、マスター・ディテールが自動的に同期される様子を観察します。
|
||||||
15. |
Specify View Criteria(双眼鏡アイコン)ボタン「
|
||||||
16. |
フォームにはこのロケーションの部門のみが表示されます。 Oracle Business Component Browserでいろいろな個所をクリックし、ほかのデータと、利用できる機能を表示させます。
|
||||||
17. |
Oracle Business Component Browserウィンドウを閉じ、JDeveloperに戻って、JDeveloperメニュー・バーの
Save Allアイコン「
|
このトピックでは、検証規則、書式設定、およびデフォルト値を追加して、ビジネス・サービスを改良 します。
1. |
アプリケーション・ナビゲータで、「 Employees1」エンティティ・オブジェクトを見つけ て、ダブルクリックします。オブジェクトが開いて編集できます。
|
2. |
Employees1.xmlウィンドウで、「
Attributes」ノードをクリックし、属性「
Salary」 を見つけてクリックします。 ページを下にスクロールして、Validationセクションを見つけます。
Addアイ コン「
|
3. |
Add Validation Rule for: Salaryダイアログで、Rule Typeドロップダウン・リストから「 Range」 を選択します。 ここで、ほかのさまざまなタイプの規則を定義できます。 Operatorフィールドはドロップダウン・リストの Between値 のままにします。Minimum Valueフィールドに 0と入力し、Maximum Valueフィールドに 99000と 入力します。
|
4. |
「 Failure Handling」タブをクリックして、検証が失敗したときに表示されるエ ラー・メッセージを定義します。 Message Textフィールドに、" Salary out of range 0 to 99,000"などのエラー・メッセージを入力し、「 OK」 ボタンをクリックします。
|
5. |
次に、雇用日のフィールドにデフォルト値を追加します。これによって、新規従業員を作成するときに、デフォルト値として今日の日付が入 ります。
Valueセクションで Default Value Typeプ ロパティを見つけて、「 Expression」を選択したあと、 Default Valueプ ロパティを adf.currentDateに設定します。 これにより、新しいレコードのデフォルト値が、確実に今日の日付に設定されます。
|
6. |
属性のUI Hintsも指定して、UI Hintsが使用されるフォームやページでのデフォルトの表示方法を管理できます。 このチュートリアルでは、雇用日フィールドにデフォルトのフォーマット・マスクを追加します。ここで、ラベルやツールチップ・ヘルプも指定できます。
Formatプロパティを見つけて、 MM/dd/yyyyと入 力します。ここでは、大文字と小文字が区別されます。
|
7. |
再度アプリケーション・モジュール・テスターを実行し(「
AppModule」を右クリックして「
Run」 を選択)、追加した新規検証、新しいレコードのデフォルト値およびUIヒントを確認します。
insert recordボ タン「
JDeveloperメニュー・バーの
Save Allアイコン「
|
1. |
新規Webページを作成することから始めます。 アプリケーション・ナビゲータで「 ViewController」 プ ロジェクト・ノードを右クリックし、「 New...」を選択します。
|
2. |
New Galleryウィンドウで、 Web Tierノードから JSFノー ドに移動し、「 JSF Page」オプションを選択します。 「 OK」ボタンをク リックします。 |
3. |
Create JSF Pageダイアログ・ボックスで、ページ名を
DeptEmpPage.jspxに 変更します。Page Templateのドロップダウン・ボックスで「
Oracle Three Column Layout」 を選択して、
Create as XML Documentチェック・ボックスが選択されていることを確認します。
|
4. |
このページがビジュアル・デザイン・ビューに表示されます。 ページ・テンプレートには3つの領域がありますが、必要なのは2つだけなので、3つめの領域を削除します。
|
5. |
このページにレイアウト・コンポーネントをいくつか追加します。
|
6. |
作成された「 ShowDetailItem 1」アコーディオンをクリックして、プロパティ・イン スペクタで Textプロパティを Departmentsに変更します。
|
7. |
新しい「 Departments」アコーディオンを右クリックして、「 Insert After Show Details Item - Departments」→「 Show Detail Item」を選択します。 これによって、ページにアコーディオンがもう1つ追加されます。 この
Textプロパティを
More Infoに変更します。
|
8. |
Layoutコンポーネントから、「 Panel Splitter」 コンポーネントをクリックして、ページの Center領域にドラッグします。
|
9. |
プロパティ・インスペクタで、新しいスプリッタの Orientationプロパティを Verticalに 変更します。
|
10. |
Layoutコンポーネントから、「 Panel Collection」 コンポーネントをクリックし、ページのスプリッタ上部にある first領域にドラッグします。
|
11. |
Layoutコンポーネントから、「 Panel Tabbed」 コンポーネントをクリックし、ページのスプリッタ下部にある second領域にドラッグします。
|
12. |
ページは次のようになります。 JDeveloperメニュー・バーのー
Save Allアイコン「
|
1. |
アプリケーション・ナビゲータで、「 Data Controls」アコーディオンを展開し、さらに 「 AppModuleDataControl」を展開すると、この実習で最初に定義したビジネス・サービスが表示され ます。
|
2. |
「
Departments1View1」データ・コントロールをJSFページの
Departmentsア コーディオンにドラッグします。
|
3. |
Edit Form Fieldsダイアログで、「 Include Navigation Controls」 のチェック・ボックスを選択して、「 OK」ボタンをクリックします。 「 OK」をクリックします。
|
4. |
Data Controlsアコーディオンで、「
Departments1View1」 データ・コントロールを展開して、含まれているフィールドを表示させます。同時に
Employees1View3(各 部門の従業員用)データ・コントロールも表示させます。
|
5. |
「
Employees1View3」データ・コントロールをJSFページの右側上部にある
Panel Collectionにドラッグします。
|
6. |
Edit Table Columnsダイアログで、「 Row Selection」、「 Sorting」、 および「 Filtering」の3つのチェック・ボックスを選択します。「 OK」 をクリックします。
|
7. |
「
Employees1View3」データ・コントロールを今度は、JSFページの右側下部にある
タ ブにドラッグします。
|
8. |
Edit Form Fieldsダイアログで、「 Include Submit Button」 のチェック・ボックスを選択します。 マウスと[Shift]キーを使用して、リストの下部にある「 CommissionPCT」、 「 ManagerId」、および「 DepartmentID」の3つのフィールド を選択し、右側上部にある 赤色の「 X」ボタン を押して削除します。 「 OK」 ボタンをクリックします。
|
9. |
JSPページは次のようになります。
|
10. |
JDeveloperメニュー・バーの
Save Allアイコン「
|
10. |
ページがブラウザで表示されたら、
スプリッタを使用して、部門データを表示するページ領域のサイズ を変更できます。 「
Next」ボタンを使用して、部門データをスクロールします。
|
11. |
試しに従業員の1人のHireDateフィールドを、 11/11/123などの無効な日付に更新し てみます。このフィールドを離れようとすると、エラー・メッセージが表示されます。 このフィールドの横にある Clockアイコンを使用して、ポップアップ・カレンダーを表示させま す。カレンダーから有効な日付を選択します。
|
12. |
Salaryフィールドを更新して、 -9など、前に作成した検証規則に違反する値にします。「 Submit」 ボタンをクリックして、作成したエラー・メッセージを表示させます。
|
13. |
部門
50を閲覧すると、従業員表のデータをスクロールしていることに気がつきます。
|
14. |
表の列の見出しをクリックしてドラッグし、表の列の位置を変更します。 新しい列の順番は次のようになります。
|
15. |
FirstName列の上のFilterフィールドに、 B%と入力します。[ Enter] キーを押して、表にフィルタをかけて、名前がBで始まる従業員のみを表示します。
|
16. |
表にある別のメニューやボタンを操作して、ほかの機能を確認します。 終了したら、ブラウザを 閉じてJDeveloper に戻ります。
|
17. |
次に、ページの従業員表を変更して、列の選択が可能な機能を追加します。 JDeveloperに戻り、JSFページのデザイン・エディタ(行の下の余白をクリック)または構造ペインにある「
Employees Table」を選択します。
|
18. |
次に、ページにデータのグラフ表示を追加します。これは、JSFコンポーネントのADFデータ可視化セットを使用しておこないます。
|
19. |
Component Galleryダイアログで、左側のグラフのリストから「 Pie」を選択し て、サブタイプとして再度「 Pie」を選択します。 「 OK」ボタンをクリックし ます。
|
20. |
Create Pie Graphダイアログで、Pieフィールドにリストから「
Salary」を 選択して、Slicesフィールドに「
LastName」を選択します。
|
21. | JDeveloperメニュー・バーの
Save Allアイコン「
今度は、表に追加された動作に注目してください。これらは、フリーズやラップなどで、列を選択すると利用できます。 「 More Info」アコーディオンを展開して、グラフと、マウスをグラフに合わせると表示されるポップアップに注目してください。 確認したら、ブラウザを 閉じてJDeveloperに戻ります。 |
この項では、アプリケーションに新しいビジネス・サービスを追加して、従業員表のフィールドのサブセットを部門 表の部門名とともに表示させます。 計算フィールドも追加します。
Oracle ADFビジネス・コンポーネントを使用すると、宣言的な方法で、このような複雑で更新可能なコンポーネントを作成できます。
1. |
アプリケーション・ナビゲータで、「 demo.model」パッケージを右クリックして、「 New View Object」を選択します。
|
||||||||||
2. |
Nameダイアログで、Nameフィールドを EmpDetailsと更新し、デフォルトの Updatable access through entity objectsの選択をそのままにします。 「 Next」ボタンをクリックします。
|
||||||||||
3. |
Entity Objectsダイアログで、まず「
Employees1」を選択して右側の Selectedリストに移動し、次に「
Departments1」エンティティを選択して右側の同じリストに追加し ます。
「 Next」をクリックします。
|
||||||||||
4. |
Attributeダイアログで、次のフィールドを右側のSelectedリストに移動します。
この時点で、「 Finish」をクリックして、ビュー・オブジェクトの作成を完了できます。
|
||||||||||
5. |
次に、オブジェクトに計算属性を追加する方法を学習します。ここでは、年俸を示す属性を追加します。
|
||||||||||
6. |
New View Object Attributeダイアログで、次のフィールドを更新します。
|
||||||||||
7. |
続く2~3の手順では、別の表に保存されている一連の値に基づいて、フィールドに値のリストを追加する方法を示します。
|
||||||||||
8. |
View Accessorsダイアログで、 JobsView1を右側に移動します。 「 OK」 ボタンをクリックします。
|
||||||||||
9. |
EmpDetails.xmlエディタで、
Attributesセクションに切り替えて、「
JobId」 属性を選択します。
List Of Valuesセクションで
緑色の+ボタン「
|
||||||||||
10. |
List of Valuesダイアログで、List Data Sourceフィールドで「 JobsView1_1」 を選択して、List Attributeフィールドで「 JobId」を選択します。
|
||||||||||
11. |
同じダイアログで UI Hintsタブをクリックして、Default List Typeに「 Input Text with List of Values」を選択し、 JobTitle属性を右側に移動 します。 「 OK」ボタンをクリックします。
|
||||||||||
12. |
ユーザー・インタフェース開発者に公開したデータ・モデルに、作成した新しいオブジェクトを追加する必要があります。
|
||||||||||
13. |
「 EmpDetails」ビュー・オブジェクトをクリックし、右に移動します。
|
||||||||||
14. |
アプリケーション・ナビゲータで「 AppModule」を右クリックして「 Run」 を選択し、アプリケーション・モジュール・テスターを起動します。 このテスターは、Swingベースの小さなアプリケーションです。これを使用して、作成したばかりのOracle ADFビジネス・コンポーネントをテストできます。
|
||||||||||
15. |
「 EmpDetails1」ビュー・オブジェクトをダブルクリックして、定義した機能をテストしま す。
|
||||||||||
16. |
試しにSalaryフィールドに -3と入力してみます。このフィールドを離れると、エラー・メッ セージが表示されます。 HireDateの日付の書式と、部門名および年俸が表示されていることに注目してください。 JobIdの値のリストを起動して、新しい役職名を選択します。
|
||||||||||
17. |
変更をコミットせずに、Business Components Testerウィンドウを閉じて、JDeveloperに戻ります。JDeveloperメニュー・バーの
Save Allアイコン「
|
ページ・フローを追加してページ間を移動するには、以下の手順を実行してください。
1. |
アプリケーション・ナビゲータの ViewControllerプロジェクトで、 page flowsノードの下にある adf-configファイルを見つけます。 このファイルをダブルクリックして、エディタで開きます。 ここで、アプリケーションのページ間のナビゲーションを定義します。
|
2. |
「 DeptEmpPage.jspx」ファイルをアプリケーション・ナビゲータから空白のadfc -configダイアグラムにドラッグ・アンド・ドロップします。 |
3. |
コンポーネント・パレットから「 View」コンポーネントをドラッグして、adfc-config ダイアグラムにドロップします。名前を queryに変更します。 これが、今から作成する新しいJSFページになります。
|
4. |
コンポーネント・パレットから「
Control Flow Case」を選択したあとに、「
DeptEmpPage」 をクリックして
queryページまで線をドラッグします。
この線に goQueryと名前をつけます。
|
5. |
コンポーネント・パレットから別の「
Control Flow Case」を選択して、
queryペー ジから
DeptEmpPageに、先ほどとは逆のフローを作成します。
|
6. |
ダイアグラムの「 query」ビューをダブルクリックして、新しいページを作成します。 Create JSF Pageダイアログで、Page Templateを使用して「 Oracle Three Column Layout」 を選択します。 「 OK」をクリックします。
|
7. |
アプリケーション・ナビゲータで「
Data Controls」アコーディオンを展開します。 「
EmpDetails1」 データ・コントロールを見つけて展開し、下にある「
Named Criteria」ノードを展開します。 「
All Queriable Attributes」を選択し、新しいquery.jspxページのcenter領域にドラッグします。 (EmpDetails1がデータ制御パレットに表示されない場合は、データ制御パレットの内部を右クリックし、リフレッシュ・オプションを選択しま す。)
|
8. |
Data Controlsアコーディオンで、「
EmpDetails1」データ・コントロール を選択し、ページのcenter領域にあるqueryコンポーネントの下にドラッグします。
Edit Form Fieldsダイアログで、「 Include Navigation Controls」 と「 Include Submit Button」のチェック・ボックスを選択します。「 OK」 をクリックします。
|
9. |
Structureペインで「 Submit」ボタンを見つけて右クリックし、「 Insert after af:command:Button - Submit」→「 Button」を選択し ます。 プロパティ・インスペクタを使用して、新しいボタンの Textを Backに 変更し、 Actionプロパティにはドロップダウン・リストから「 back」を選 択します。 (Actionプロパティでリストが使用できない場合は、値backをコード化します。) これによって、このボタンからページ・フローで定義したナビゲーションが実行されます。
|
10. |
次に、トランザクション操作をページに追加して、変更をコミットおよびロールバックできるようにします。 データ・コントロール・パレットで、アプリケーション・モジュール・レベルの「 Operations」ノードを開い て、コミット操作とロールバック操作を見つけます。 「 Commit」操作をStructureペインの First Buttonの前にドラッグします。 ドロップ・ターゲットを要求されたら、「 Operations」 →「 ADF Button」を選択します。
|
11. |
Rollback操作に対しても、同じステップを繰り返します。
|
12. |
この段階で、Query.jspxタブをダブルクリックしてデザイン・エディタを最大化すると、ページは次のようになります。
|
13. |
「
DeptEmpPage.jspx」のタブをクリックする、またはアプリケーション・ナビゲータ からこのファイルを開いて、ファイルの編集に切り替えます。
|
14. |
コンポーネント・パレットから、「 Button」コンポーネントを選択して、ページの Departmentsア コーディオンにあるFirstとPreviousボタンの間にドラッグします。 または、「 First」ボタンを右ク リックし、「 insert after」→「 button」を選択して新しいボタ ンを追加できます。 プロパティ・インスペクタを使用して、ボタンの Textを Queryに 変更し、 Actionプロパティにはドロップダウン・リストから「 goQuery」 を選択します。 これによって、このボタンからページ・フローで定義したナビゲーションが実行されます。
|
15. |
JDeveloperメニュー・バーの
Save Allアイコン「
|
16. |
ブラウザでページが表示されたら、「 Query」ボ タンをクリックして新しいページに移動します。
|
17. |
新しいQueryページで、 JobIDフィールドの 横にある虫メガネ・アイコンをクリックし、検索フォームを表示させます。
|
18. |
役職名が Aで始まる職務を検索します。 「
Accountant」を選択し、「
OK」 をクリックします。
|
19. |
このフォームを使用して、検索条件の保存、さらに複雑な検索の作成、および従業員のデー タの更新を引き続き試すことができます。 作成したビュー・オブジェクトの定義(部門名のデータやJobIdの値のリストなど)と一致するデータのビューが、このフォームにどのように表示されるか に注目してください。
ブラウザのウィンドウを閉じます。 |
次の項では、Ajaxの追加機能を使用し、Oracle ADF Facesコンポーネントが提供する宣言的開発を活用して、ページを強化します。
|
部分ページ・リフレッシュの使用 | |
|
ドロップダウン・メニューと操作コン ポーネントの使用 |
1. |
デザイン・エディタで query.jspxファイルを開き、「 Salary」 フィールドを見つけてクリックします。 プロパティ・インスペクタ・ウィンドウで、 idプロパティの値を salに 設定します。
|
2. |
さらに、プロパティ・インスペクタの Behaviorセクションで、 AutoSubmitプ ロパティを「 True」に設定します。 |
3. |
Structureパネルで、
YearlySalaryを見つけます。 または、「
query.jspx」 タブをダブルクリックしてウィンドウを最大化してから、デザイン・エディタでこのフィールドを見つけます。
|
4. |
Edit Propertyダイアログで、 Salaryフィールドを見つけ、青い矢印を使用して右 に移動します。 「 OK」ボタンをクリックします。
|
5. |
JDeveloperメニュー・バーの
Save Allアイコン「
ページが表示されたら、Queryセクションを使用して、名前が Aで始まる従業員を探し、そのうち 1人のSalaryフィールドを更新します。 Salaryフィールドを離れると、 YearlySalaryフィールドがすぐに変更されることを 確認します。 ブラウザのウィンドウを閉じます。 |
1. |
デザイン・エディタで DeptEmpPage.jspxファイルを開き、Employees表を囲 むパネル・コレクションの menusプレースホルダー領域内をクリックします。 右クリックしてコンテキスト・メニューを表示し、「 Insert Inside Facet - menus」→「 Menu」 を選択します。
|
2. |
プロパティ・インスペクタで、 Textプロパティを My Optionsに 設定します。 |
3. |
プロパティ・インスペクタの Behaviorセクションで、 Detachableプ ロパティを「 True」に設定します。
|
4. |
Structureペインでメニュー・コンポーネントを右クリックし、「
Insert inside af:menu - My Options」→「
Menu Item」を選択します。
プロパティ・インスペクタを使用して、新しいメニュー項目の Textプロパティを Export to Excelに設定します。
|
5. |
新しいメニュー項目Export to ExcelをStructureペインで選択した状態で、コンポーネント・パレットのADF Facesコンポーネントの「
Operations」セクションを開きます。
|
6. |
ポップアップ表示されるダイアログで、 ExportedIdフィールドの横にある下矢印をクリック し、「 Edit」を選択します。
|
7. |
Edit Propertyダイアログでページの構造をナビゲートして、 PanelCollectionで 「 table」を見つけてクリックします。 「 OK」をクリックします
|
8. |
Typeドロップダウン・リストから「 excelHTML」を 選択します。 「 OK」ボタンをクリックします。
|
9. |
メニューにオプションをもう1つ追加します。 Structureペインでメニュー・コンポーネント「 Export to Excel」を右クリックし、コンテキスト・メニューから「 Insert After af:commandMenuItem - Export to Excel」→「 Menu Item」 を選択します。
|
10. |
新しいメニュー・オプションのTextプロパティを Printable Pageに設定します。
|
11. |
コンポーネント・パレットのOperationsセクションから、「
Show Printable Page Behavior」をクリックして新しいメニュー項目に追加します。 これは、作成した新しいメニュー・オプションにドラッグ・アンド・ドロップすることもできます。
|
12. |
JDeveloperメニュー・バーの
Save Allアイコン「
|
13. |
ページが表示されたら、メニューを表示し、分離します。
|
14. |
次に、作成したメニュー・オプションを1つ1つ起動します。 たとえば、 Export to Excelを 起動します。 Excelファイルにアクセスするには、ブラウザ・ウィンドウのファイルのダウンロードを受け入れる必要があります。
|
15. |
Printable Pageオプションを試します。 これで、ページを印刷できます。
|
ブラウザ・ウィンドウを 閉じます。 |
読取り専用のビジネス・サービス、ページの 断片および領域の作成
次の2つの項では、再利用可能なページの断片を作成し、電子メールで従業員を検索できるようにします。 次に、ほかのJSFページでこのページ断片を使用します。
|
パラメータに基づく問合せ専用のビジネス・サービス | |
|
再利用可能なタスク・フロー、ページ断片および領域 |
まず、パラメータに基づく適切な問合せを提供する、Oracle ADFビジネス・コンポーネントの新しいビュー・オブジェクトを作成します。
1. |
アプリケーション・ナビゲータで、「 demo.model package」を見つけて右クリッ クし、「 New View Object...」を選択します。
|
2. |
Create View Objectダイアログで、 Nameプロパティを EmpByEmailに 設定し、ビュー・オブジェクトのタイプとして「 Read Only Access through SQL Query」 ラジオ・ボタンを選択します。 「 Next」をクリックします。 |
3. |
Create View Objectダイアログのステップ2で、次の問合せを入力します。
「 Test」ボタンをクリックして問合せを確認し、「 Next」 をクリックします。
|
4. |
Create View Objectダイアログのステップ3で、「
New」ボタンをクリックし て、新しいバインド変数を定義します。
Control Hintsタブで Label Textを Emailに 設定します。
|
5. |
ダイアログの
ステップ8に到達するまで、「
Next」をさらに 数回クリックして、すべてのデフォルトを受け入れます。
|
6. |
これで、アプリケーション・モジュール・テスターを実行できます。新しい「 EmpsByEmail1」 ビューをダブルクリックすると、パラメータの値を入力するよう要求されます。 SKINGと入力し、「 OK」 を押すと、この電子メールに対する結果を得ることができます。 別の値を試すには、 :id アイコンの付いた青いボタンをクリックします。 テスターを終了します。 |
1. |
まず、このページ固有の新しいタスク・フローを作成します。
Web Tierの JSFカテゴリで、「 ADF Task Flow」を選択し、「 OK」をクリックします。
|
2. |
Create Task Flowダイアログで、
File Nameプロパティを
search-email-flow.xmlに 設定します。
|
3. |
作成した新しいフローのダイアグラム・エディタで、「 View」コンポーネントをコンポーネント・ パレットから空白領域にドラッグして、名前を searchEmailに変更します。 このフローで使用するのは1ページのみですが、複数ページをもつバウンド・タスク・フローを使用し、それらをほかのJSFページに含めることもできます。
|
4. |
新しい「
searchEmail」ビュー・コンポーネントをダブルクリックして、ページを作成しま す。
|
5. |
ページの空白のデザイン・ビューが表示されます。 「
Data Controls」アコーディオン を開き、作成した新しいビューを見つけます。 - 「
EmpByEmail1 」ビューと、その下にある「
Operation」 ノードを開きます。.
ExecuteWithParams操作を使用して、このビューに対して必要なパラメータを渡して 問合せを実行します。
|
6. |
「
ExecuteWithParams」操作を新しいページにドラッグして、ドロップ・オプション を選択するよう要求されたら、「
Parameters」→「
ADF Parameter Form...」を選択します。
Edit Form Fieldsダイアログで、「 OK」をクリックして、デフォルト値を受け入れ ます。
|
7. |
このページのデザイン・エディタで、「 ExecuteWithParams」ボタンをクリックし、 プロパティ・インスペクタを使用して Textプロパティを Find Detailsに 変更します。
|
8. |
Data Controlsアコーディオンから、「
EmpByEmails1」ビューをボタンの下 のページにドラッグします。 ドロップ・オプションを選択するよう要求されたら、「
From」→「
ADF Read Only Form」を選択します。
Edit Form Fieldsダイアログに表示されるデフォルトを受け入れて、「 OK」をク リックします。
|
9. |
これでバウンド・タスク・フローにページ断片が含まれるようになりました。次に、完成したバウンド・タスク・フローをほかのJSFペー ジに加えます。
|
10. |
次に、領域として作成した新しいフローを既存のページに追加します。
ページは次のように表示されます。
|
11. |
「
Save All」ボタンを押して作業内容を保存してから、更新された
DeptEmpPage.jspxペー ジを
実行します。
従業員の詳細情報が返されます。 |
これで、完全なADFアプリケーションが完成しました。 Oracle ADFビジネス・コンポーネントを使用して、データベースにマッピングする簡単なビジネス・サービスと複雑なビジネス・サ-ビスを作成しました。 また、Oracle ADF Facesコンポーネントを使用して、Ajax機能を組み込んだリッチ・ユーザー・インタフェースを作成しました。 さらに、Oracle ADFタスク・フローを使用して、ページ・フローと再利用可能なページ領域を作成しました。 JDeveloperとOracle ADFを使用する間、コードを記述する必要がほとんどなかったことに注目してください。 これは、Oracle ADFをマスターするための第一歩です。詳しくは、 http://www.oracle.com/technology/global/jp/products/jdev/index.htmlを 参照してください。
このチュートリアルでは、Oracle ADF Faces Rich Clientを使用してJSFページを作成し、いくつかの高度な機能を使用する方法について学習しました。
|
新規Fusionアプリケーションとビジネス・コンポーネントの作成 |
|
ビジネス・コンポーネントの改良 |
|
JSF Webページの作成 |
|
JSFページへのデータ・コントロールのバインド |
|
さらに複雑なビジネス・サービスの追加 |
|
ページ・フローの作成 |
|
ADF Facesフレームワーク機能の使用 |
|
読取り専用のビジネス・サービス、ページの断片および領域の作成 |