おすすめコンテンツ
このチュートリアルでは、Oracle JDeveloper 11gを使用してURLをブックマークできるWebアプリケーションを構築します。 あらかじめ定義されたアプリケーションをベースに、アプリケーションのブラウズ/編集タイプから編集ページをブックマークする機能を実装します。 データ・モデルでは、ビジネス・コンポーネントを使用します。 Webクライアントの場合は、JavaServer Faces(JSF)が使用されます。 ブラウズ・ページと編集ページはユーザー・インタフェースに含まれています。
所要時間
20分
このチュートリアルでは、以下のトピックについて説明します。
| |
概要 |
| |
シナリオ |
| |
前提条件 |
| |
スタート アップ・アプリケーションの確認 |
| |
|
| |
|
| |
|
| |
まとめ |
このアイコンの上にカーソルを置くと、すべてのスクリーンショットがロード し、表示されます。 (警告: この操作によって、同時にすべてのスクリーンショットがロードされるため、ご使用のインターネット接続によってはレスポンス時間が遅くなる場合がありま す。)
注: 各手順に関連したスクリーンショットのみを表示する場合は、それぞれの手順にあるアイコ ンの上にカーソルを置いてください。 スクリーンショットをクリックすると、非表示になります。
モデルはビジネス・コンポーネントによって、また、ビューとコントローラはJava Server Facesによって、それぞれ提供されます。
既存のアプリケーションには、ブラウズ・ページと編集ページの2つがあります。 ブラウズ・ページは部門リストを提供し、リストから部門を選択して部門の詳細を編集できます。 編集ページは部門の詳細を表示します。
問題は、特定の部門の編集ページが表示されたとき、URLがアプリケーションのエントリ・ポイント(ブラウズ・ ページ)を指したままになることです。 このデフォルトの動作のせいで、編集ページの参照先をブックマークできなくなります。
編集ページをブックマーク可能にするには、ブラウズ・ページのEditボタンにアクション・リス ナーを追加します。 編集ページで、マネージドBeanに定義されたメソッドを使用してブックマークのプロパティを設定します。 これにより、 currentRowKeyString値に基づいたレコード情報を ブックマークできます。
このチュートリアルを始める前に、次のことを確認してください。
| |
必要なコンポーネントのダウンロード とJDeveloper 11gの起動 | |
| |
スタートアップ・アプリケーションの アップロード | |
| |
データベース接続の作成 | |
必要なコンポーネントのダウ ンロードとOracle JDeveloper 11gの起動
以下の手順で、JDeveloper 11gとこのチュートリアルで必要なそのほかのファイ ルをダウンロードします。
| 1. |
Oracle JDeveloper 11g製品版にアクセスできるか、または インストール済みである必要があります。 この製品は、 Oracle Technology Networkからダウンロードできます。
|
| 2. |
Oracle 10gまたはOracle 11gに付属の Oracle Sample Schemaにアクセスできるか、またはインストール済みである必要があります。 このチュートリアルでは、HRスキーマを使用します。 とくに、ページは実行時に、Department表およびEmployee表と連動します。 HRスキーマのインストールおよびOracle JDeveloper内における接続の作成手順は、次のURLを参照してください。 http://www.oracle.com/technology/obe/obe11jdev/11/common/connection11g.htm |
| 3. |
「 スタート」→「 すべてのプログラム」 →「 Oracle WebLogic」→「 JDeveloper Studio 11.1.1.0.0」を選択して、JDeveloperを起動します。
|
| 4. |
Migrate User Settingsダイアログ・ボックスが開いたら、「 NO」 をクリックします。 ユーザー・ロールを設定するか尋ねられたら、「 Default」 を選択します。 Tip of the Dayウィンドウを 閉じます。
|
| 5. |
JDeveloper IDEが表示されます。 |
コンポーネントを作成する前に、まずはスタートアップ・アプリ ケーションを開始する必要があります。 以下の手順を実行します。
| 1. |
URL_Bookmark.zipファイルをダウンロードします。 この リ ンクを右クリックしてコンテキストから「 対象をファイルに保存」 を選択し、「 URL_Bookmark.zip 」ファイ ルを任意のローカル・ディレクトリにダウンロードします。
|
| 2. |
任意のローカル・ディレクトリ(tempディレクトリなど)で、 URL_Bookmark.zip ファ イルを解凍します。
|
| 3. |
アプリケーション・ナビゲータで「 Open Application」 リンクをクリックします。 作業領域 c:\temp\ TaskFlowHandsOn\TaskFlowHandsOn.jws に 移動します。 「 Open」をクリックします。 プ ロジェクトを移行するか尋ねられた場合は、「 Yes」をクリックします。
|
| 4. |
アプリケーションがOracle JDeveloperにロードされます。 |
HRスキーマへのデータベース接続を作成します。 以下の手順を実行します。
| 1. |
メニュー・バーから、「 View」→「 Database Navigator」 を選択します。
|
||||||||||||||||
| 2. |
Database Navigatorで「 TaskFlowHandsOn」を右クリックして、コ ンテキスト・メニューから「 New Connection」を選択します。
|
||||||||||||||||
| 3. |
Create Database Connectionで、以下の値を入力します。
|
||||||||||||||||
| 4. |
「 Test Connection」ボタンをクリックします。 データベースが使用可能な状態であり、接続情報が適切な場合は、ステータス・ウィンドウに Success!と 表示されます。表示されたら、「 OK」をクリックします。 エラーが発生した場合、接続設定を確認します。必要に応じて変更を加え、接続を再度テストします。 それでも接続できない場合は、データベースに問題があるか、データベースが稼働していない可能性があります。
|
||||||||||||||||
| 5. |
アプリケーション・ナビゲータで、Application Resourcesパネルの「 Connections and Database」ノードを展開し、作成したHR接続を表示します。 HRConnノードを開いて、データベース・オブジェクトを表示できます。 |
スタートアップ・アプリケーションは、DepartmentsおよびEmployeesエンティティ・オブジェ クト、およびそれらに対応するビュー・オブジェクトを使用します。
| 1. |
アプリケーション・ナビゲータを開き、「 Model」プロジェクト・ノードを展開します。 既存のエンティティ、ビュー、リンク・オブジェクト、アプリケーション・モジュールを確認します。 モデル・プロジェクトには、アプリケーションに必要なすべてのコンポーネントが含まれています。
|
| 2. |
アプリケーション・ナビゲータで「 AppModule」ノードを右クリックし、コンテキスト・メ ニューから「 Configurations」を選択します。
|
| 3. |
Manage Configurationsダイアログで、「 AppModuleLocal」を選 択して「 Edit」をクリックします。
|
| 4. |
Edit Business Components ConfigurationダイアログのAppModuleLocalで、接続タイプとして「 JDBC URL」、接 続名として「 HRConn」を選択します。 「 OK」をクリックし、もう一度「 OK」をクリックします。
|
| 5. |
アプリケーション・ナビゲータで「 AppModule」を右クリックし、「 Run」 を選択します。
|
| 6. |
Business Component Configurationダイアログで、「 Connect」 をクリックします。 ブラウザ・ウィンドウが開くまで待ちます。
|
| 7. |
Oracle Business Component Browserで、「 DepartmentsView1」 をダブルクリックします。
|
| 8. |
ナビゲーション・ボタンを使用して、部門を参照します。
|
| 9. |
Oracle Business Component Browserウィンドウを 閉じます。
|
| 10. |
「 ViewController」プロジェクト・ノードを展開します。 「 Web Content」→「 Page Flows」→「 adfc-config」 ノードをダブルクリックして、ページ・フロー・ダイアグラムを開きます。
|
| 11. |
ページ・フローには、2つのページが表示されます。 BrowseDepartmentsページ と EditDepartmentページです。
|
| 12. |
BrowseDepartmentsページを右クリックし、コンテキスト・メニューから「 Run」 を選択します。
|
| 13. |
Set Run Configurationダイアログで、「 OK」をクリックしてデフォルトを受 け入れます。
|
| 14. |
ブラウザに表示されたURLを確認します。
|
| 15. |
リストから任意の部門を選択して、「 Edit Departments」ボタンをクリックします。
|
| 16. |
対応する部門の詳細情報が表示されます。 ブラウザ内のアドレス・フィールドのURLがBrowseDepartmentsページのそれと同じであることを確認します。これによ り、この特定の部門の詳細ページをブックマークする必要がなくなります。
|
| 17. | ブラウザ・ウィンドウを 閉じます。 次の項では、編集ページにおける選択された部門の追跡方法を説明します。 |
ブラウザ・ページで選択された部門のブックマーク可能な情報を提供するには、 currentRowKeyStringプロパティに基づいた参 照部門をもつアクション・リスナーを追加します。 それには、以下の手順を実行します。
| 1. |
ページ・フロー内のOracle JDeveloperで「 BrowseDepartments」 アイコンをダブルクリックしてページを開きます。
|
| 2. |
エディタで BrowseDepartmentsページが開きます。
|
| 3. |
「 Edit Departments」ボタンを選択してプロパティを表示します。
|
| 4. |
プロパティ・インスペクタに、編集コントロール・フローにマッピングされたアクションが表示されます。 Edit Departmentsボタンのアクション・リスナーを作成します。
|
| 5. |
ADF FacesのOperationsで「 Set Action Listener」を選択し て、 Edit Departmentsボタンにドロップします。
|
| 6. |
Insert Set Action Listenerダイアログで、 Fromフィールドの横にあ る下矢印から「 Expression Builder」を選択します。
|
| 7. |
Expression Builderダイアログで「 ADF Bindings」→「 bindings」 →「 DepartmentView1Iterator」を開き、「 currentRowKeyString」 を選択します。 「 OK」をクリックします。
|
| 8. | ダイアログに戻り、
Toフィールドに
#{pageFlowScope.rowKey}と 入力します。
Toフィールドのコンテンツを選択して、クリップボードへコピー([ Ctrl]+[ C]) します(このコピーは、あとで必要になります)。 「 OK」をクリックします。
|
| 9. |
Set Action Listenerのプロパティは、次のように表示されます。 |
ページがもつブックマークのプロパティは、リンクされたページのURLへ現在の列の参照先を伝播するためのもの です。 この目的のため、現在の列の値をもつマネージドBeanを使用します。 それには、以下の手順を実行します。
| 1. |
ページ・フローのダイアグラム・ビューを開き、EditDepartmentページを選択してページのプロパティを表示します。
|
| 2. |
プロパティ・インスペクタで「
Bookmark」タブを選択し、ブックマークのプロパティを
trueに 設定したら、
Add「
|
| 3. |
ブックマークURLパラメータ名として rowKeyを入力し、クリップボードのコンテンツ( #{pageFlowScope.rowKey}) を値フィールドに貼りつけます。
|
| 4. |
Methodフィールドの横にある下矢印をクリックして、「 Expression Builder」 オプションを選択します。
|
| 5. |
Expression Builderダイアログで、「 ADF Managed Beans」→「 pageFlowScope」 →「 BookmarkHandler」を展開し、「 handleBookMarkRequest」 を選択します。 「 OK」をクリックします。
|
| 6. |
事前定義済みのアプリケーション内で作成されたマネージドBeanのコンテンツを確認するには、アプリケーション・ナビゲータで「 BookmarkHandler.java」 をダブルクリックしてJavaクラスを開きます。
|
| 7. |
エディタで handleBookMarkRequestメソッドが表示されます。
|
| 8. |
「 EditDepartment.jspx」タブをクリックして、エディタにページを開きます。
|
| 9. |
「 EditDepartment」ページを右クリックして、コンテキスト・メニューから「 Go to Page Definition」を選択します。
|
| 10. |
「 EditDepartment.jspx」タブをクリックして、エディタにページを開きます。
|
| 11. |
ページ定義のStructureペインで「 bindings」ノードを右クリックして、コンテキス ト・メニューから「 Insert inside bindings」→「 Generic Bindings」→「 action」を選択します。
|
| 12. |
Create Action BindingsダイアログのSelect an Iteratorフィールドで「 DepartmentsView1Iterator」 を、Operationで「 setCurrentRowWithKey」をそれぞれ選択します。 Parametersセクションで、値フィールドにクリップボードのコンテンツ( #{pageFlowScope.rowKey}) を貼りつけます。 「 OK」をクリックします。
|
| 13. |
これで、ページ定義は次のように表示されます。 また、Structureウィンドウは次のように表示されます。
|
| 14. |
Save All「
|
Oracle JDeveloperのJSFナビゲーション・モデラーを使用して、アプリケーションのページの計画と作成をダイアグラムでおこなうとともに、相互のナビ ゲーションをおこないます。
| 1. |
「 adfc-config.xml」タブをクリックしてページ・フロー・ダイアグラムを開きます。
|
| 2. |
「 BrowseDepartments」ページを右クリックし、コンテキスト・メニューから「 Run」 を選択します。 |
| 3. |
ブラウザにページがロードされます。 アドレス・バーのURLを確認します。
|
| 4. |
リストから任意の部門を選択して、「 Edit Departments」ボタンをクリックします。
|
| 5. |
対応する部門の詳細情報が表示されます。 アドレス・バーのURLを確認します。 |
| 6. |
ブラウザ・メニュー・バーでページをブックマークします。 ブックマークを追加するフォルダを選択します。 ブラウザを閉じます。
|
| 7. |
新しいブラウザ・ウィンドウを開き、保存したばかりのブックマークを選択します。
|
| 8. |
ブラウザは、ブックマークした部門番号に対応するページを返します。
|
| 11. | ブラウザ・ウィンドウを閉じます。 |
このチュートリアルで学習した内容は、次のとお りです。
| |
Browse Departmentsページの準備 |
| |
編集ページのブックマーク化への対応 |
| |
ブックマーク機能のテスト |