Oracle JDeveloper 11gによるブックマーク可能な編集ページの構築

目的

このチュートリアルでは、Oracle JDeveloper 11gを使用してURLをブックマークできるWebアプリケーションを構築します。 あらかじめ定義されたアプリケーションをベースに、アプリケーションのブラウズ/編集タイプから編集ページをブックマークする機能を実装します。 データ・モデルでは、ビジネス・コンポーネントを使用します。 Webクライアントの場合は、JavaServer Faces(JSF)が使用されます。 ブラウズ・ページと編集ページはユーザー・インタフェースに含まれています。

所要時間

20分

トピック

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

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

Browse Departmentsページの準備

編集ページのブックマーク化への対応

ブックマーク可能ページの実行

 まとめ

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

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

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

概要

モデルはビジネス・コンポーネントによって、また、ビューとコントローラは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で、以下の値を入力します。

Connection Name HRConn
UserName hr
Password hr
Deploy Password 選択します
Driver thin
Host Name localhost
JDBC Port 1521
SIDまたは Service Name ORCL/XE

 

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. ブラウザ・ウィンドウを 閉じます。 次の項では、編集ページにおける選択された部門の追跡方法を説明します。

トピック・リストに戻る

BrowseDepartmentsページの準備

ブラウザ・ページで選択された部門のブックマーク可能な情報を提供するには、 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 」ボタンをクリックしてブックマークURLパラメータを作成します。

 

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ページの準備
 編集ページのブックマーク化への対応
 ブックマーク機能のテスト

トピック・リストに戻る

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