ビジネス・コンポーネントWebアプリケーションでのStrutsサポートについて

データ・バインドされたJSPアプリケーションでStrutsを使用するWebアプリケーション開発者は、Oracleのデータ・アクセス・フレームワークであるBusiness Components for Java(BC4J)から非常にスケーラブルなWebアプリケーションを作成できます。JDeveloperのBC4Jプロジェクト・ウィザードを利用して生成するビジネス・コンポーネント・プロジェクトは、BC4Jフレームワークを実装し、完全なデータベース・アクセス、状態管理およびトランザクション制御をWebアプリケーション・クライアントに提供します。

StrutsフレームワークおよびBC4Jフレームワークと連携するため、JDeveloperには、標準の(Strutsを使用しない)BC4J JSPページ・ウィザードと同様のウィザードのセットが用意されていますが、Struts MVCパラダイムで使用するためにBC4J固有のリクエスト・プロセッサを利用するWebアプリケーションを生成できる機能が追加されています。

たとえば、ビジネス・コンポーネントStruts JSPアプリケーション・ウィザードを使用し、既存のビジネス・コンポーネント・プロジェクトに基づいてWebアプリケーション全体を短時間で作成できます。標準アクションは、Strutsフレームワーク、およびBC4Jデータ・タグのカスタム・タグ・ライブラリにあるコンポーネント・タグのStrutsバージョンを使用して実装されます。

Struts framework with BC4J as model

注意: コンポーネント・タグおよびStrutsの詳細は、「StrutsでのBC4Jコンポーネントのデータ・タグのサポートについて」を参照してください。

BC4J WebアプリケーションでStrutsを使用する利点

StrutsフレームワークおよびBC4Jフレームワークを使用してデータ・バインドされたWebアプリケーションを作成する場合は、Strutsを使用しないBC4J Webアプリケーションと比較して次の利点があります。

Strutsを使用する場合と使用しない場合とでのBC4J Webアプリケーションの動作の違い

JDeveloper 9.0.2以下のバージョンでWebアプリケーションを作成した場合、BC4J Webアプリケーションを生成するためのウィザードは使い慣れたものに見えます。ただし、Webアプリケーション・ウィザードで生成されるプロジェクト・ファイルは、Strutsサポートあり、およびStrutsサポートなしという2つのタイプのウィザード間で異なります。それ以外については、2つのカテゴリのウィザードは同様です。

この2つのカテゴリのウィザードの違いを理解するには、生成されるファイルの参照が役立ちます。次の表で、StrutsをサポートするJSPプロジェクト内に存在するファイルについて説明し、Strutsを使用しないJSPプロジェクトと比較します。

Webアプリケーションのプロジェクト・ファイル Strutsを使用するJSPプロジェクト Strutsを使用しないJSPプロジェクト

ApplicationResources.properties

アプリケーションのメッセージ文字列を含む、Strutsでサポートされる標準メッセージ・ファイル。このファイル内のメッセージは、任意の言語にローカライズでき、実行時に特定のロケールで表示されます。

使用されません。メッセージ文字列は、生成されたJSPページ内で直接編集する必要があります。

XxxAction.java

oracle.jbo.html.struts11.actionパッケージ内のクラスを表します。Xxxは特定のアクション名です。これらは、標準データ・アクセス操作を実行するためにBC4Jにより必要とされるアクションです。

使用されません。標準BC4Jウィザードは、コンポーネント・タグに基づいてJSPページを生成します。JSPページは、データ・アクセス・アクションのハンドラを直接実装します。

XxxForm.java

ActionFormを拡張するBC4JActionFormを拡張します。これらのクラスのインスタンスは、アクションのデータ・バインドを提供します。Xxxは、特定のBC4Jビュー・オブジェクト名です。

使用されません。標準BC4Jウィザードは、<jbo:ApplicationModule>データ・タグおよび<jbo:DataSource>データ・タグを使用してJSPページにデータ・バインドを提供します。

XxxFormBeanInfo.java

SimpleBeanInfoを拡張するFormBeanInfoを拡張します。getterメソッドおよびsetterメソッドを介してBC4Jビュー・オブジェクトのプロパティを公開します。これにより、データ・バインドが可能になります。Xxxは、特定のBC4Jビュー・オブジェクト名です。

使用されません。データ・バインドはJSPページ内で処理されるため、標準BC4J JSPページに同等のものはありません。

struts-config.xml

Strutsでサポートされる標準アクション・マッピング・ファイル。データ・アクセス・アクションを適切なアクション・クラスにマップします。

使用されません。標準BC4J JSPページは、アクション・クラスを実装しません。かわりに、DataHandlerコンポーネント・タグにより処理されるイベントを使用します。したがって、このプロジェクトには、アクションを実装する追加のDataHandlerComponent.jspがインクルードされます。

web.xml サーブレット実装でサポートされる標準デプロイメント・ディスクリプタ・ファイル。サーブレット2.3では、ActionServletコントローラのこのファイルに含まれる各種アクション・サーブレット・ディスクリプタなど、Strutsをサポートするための新しいディスクリプタがあります。 すべてのBC4J JSPページのOrdPlayMediaサーブレットの定義に限定されます。ただし、Strutsアクション・サーブレットのデプロイメント・ディスクリプタは含みません。

これらのファイルの内容の詳細は、下にリストする関連項目を参照してください。

BC4Jデータ・タグがStrutsタグ・ライブラリを使用する方法

JSPページには、Strutsタグ・ライブラリのタグとBC4Jデータ・タグ・ライブラリのタグをインクルードすることができます。BC4Jデータ・タグを使用するとページでビジネス・コンポーネント・モデルのアクセスと処理を行うことができますが、Strutsタグ単体にはこの機能がありません。

ただし、Struts HTMLタグとBC4Jデータ・タグがオーバーラップする領域が1つあります。どちらのタグ・ライブラリを使用しても編集フォームを作成できます。ほとんどの場合、BC4Jデータ・タグ・ライブラリのレンダリング・タグを使用します。この追加機能がタスクに適しているためです。

Struts HTMLタグを使用して編集フォームを作成する場合は、テキスト・フィールドをいつ使用するか、またそのサイズをいくつにするかを認識する必要があります。また、日付の表示形式も決定します。<jbo:InputRender>データ・タグを使用すると、タグがフィールドのタイプに基づいて適切なフィールド・レンダラを自動的に選択します。属性定義に格納されているUIヒントから、最大フィールド・サイズやその他の情報も設定します。

編集フォームの場合を除き、2つのタグ・ライブラリ・セット(StrutsとBC4J)の間にその他のオーバーラップはなく、JSPページで両方を自由に組み合せることができます。


JDeveloperでのStrutsサポートについて
WebアプリケーションでのStrutsフレームワークについて
StrutsでのBC4Jコンポーネントのデータ・タグのサポートについて
BC4Jデータ・タグによるデータのレンダリングについて

ビジネス・コンポーネントのJSPページの操作
StrutsベースのBC4J JSPページの作成方法
StrutsベースのBC4J JSPのアクションのマッピング
StrutsベースのBC4J JSPのフォームBeanの作成
Struts JSPページの実行