コンポーネント・タグは、BC4Jデータ・タグのカスタム・タグ・ライブラリに属しています。コンポーネント・タグは、データベースのデータにアクセスし操作するために、ビジネス・コンポーネント上で機能する点で、他のBC4Jデータ・タグによく似た働きをします。Strutsサポートを使用して作成するWebアプリケーションでは、特別なバージョンのコンポーネント・タグを使用し、一般的なビジネス・コンポーネント・アクションを処理できます。
注意: DataHandlerコンポーネント・タグは、Strutsフレームワークでは使用されません。DataHandlerのレベルでイベントを処理するかわりに、コンポーネント・タグは特定のStrutsアクションを実装するアクション・クラスを使用して動作します。
Strutsをサポートしているビルトイン・コンポーネント・タグは、コンポーネント・パレットの「BC4J Component Tag」ページからJSPファイルに挿入できます。コンポーネント・パレットには、編集しているJSPファイルに適したバージョンのコンポーネント・タグが表示されます。BC4J JSPプロジェクトにStrutsサポートがある場合(struts-config.xml
ファイルを含む)、コンポーネント・パレットにはStrutsのコンポーネント・タグが表示されます。Strutsサポートがない場合、BC4J JSPページではコンポーネント・タグの非Strutsバージョンが使用されます。
Strutsサポートのあるコンポーネント・タグを実装するJSPファイルは、Strutsサポートがない場合よりも単純に見えます。その理由は、Strutsがコンポーネント・タグをページ・アクションの処理の役割から解放するためです。たとえば、StrutsサポートのあるDataEditコンポーネント・タグを実装するDataEditComponent.jsp
ファイルを開いた場合、同じコンポーネント・タグの非Strutsバージョンが作成、編集および削除アクションの処理に必要とする多数のOnEventデータ・タグがないことがわかります。
StrutsサポートのあるDataEditコンポーネント・タグを使用する生成済CustomersView_Edit.jsp
ファイルに対して、次のエントリがあります。
<h3><bean:message key="edit.header" arg0="CustomersView"/></h3>
<jbo:DataEdit datasource="CustomerAppModule.CustomersView"
targetURL="/update_CustomersView.do"
enctype="application/x-www-form-urlencoded"/>
このエントリを、StrutsサポートのないDataEditコンポーネントを使用する同じファイルの次のエントリと比較します。
<jbo:ApplicationModule id="am"
definition="MyJSPProject.CustomerAppModule"
releasemode="Stateful" />
<jbo:DataSource id="ds" appid="am" viewobject="CustomersView" />
<h3>CustomersView Edit Form</h3>
<jbo:DataEdit datasource="ds" enctype=""/>
<jbo:ReleasePageResources />
(DataEditコンポーネント・タグを介して)Strutsと連携するBC4J JSPページには、次の違いがあります。
struts-config.xml
ファイル内のBC4JDefinition
値を使用して、ビジネス・コンポーネントの構成および接続情報を指定し、BC4Jコンテキストからビュー・オブジェクト・インスタンスのコンテキストを取得します。datasource
属性を提供します。targetURL
属性を使用して、アクションのパス/actionPathName.do
で指定されたBC4Jアクションを起動します。
注意: BC4Jコンポーネント・タグを使用せずにBC4J JSPページを設計する場合は、アクション・パスを指定し、オプションでBC4Jコンテキスト情報を(Struts構成のかわりとして)渡す際に便利なように、タグ<jbo:UrlEvent>
を使用できます。内部的には、BC4Jコンポーネント・タグはこの目的のために<jbo:UrlEvent>
タグを使用します。
<bean:message>
タグを使用してApplicationResources.properties
ファイルから文字列を表示します。BC4J JSPページでStrutsを使用する利点の詳細は、「ビジネス・コンポーネントWebアプリケーションでのStrutsサポートについて」を参照してください。
すべてのStrutsアクションは、エンド・ユーザーがStrutsで定義されたリンクをクリックした際にJSPリクエスト・オブジェクトに送られるURLから開始します。リンクは、actionPathName.do
の形式である必要があります。拡張子 .do
により、ActionServlet
はstruts-config.xml
構成ファイル内の対応するアクションを検索します。
BC4Jコンポーネント・タグで実装されているStrutsフレームワークでのアクション処理のランタイム・プロセスは、次のとおりです。
.do
パラメータを送るリンクをクリックします。ActionServlet
は、struts-config.xml
内の定義を介してリクエストURIをアクション・クラスにマップします。execute()
メソッド実装を介してリクエストを処理します。BC4J JSPページ・フローの詳細な説明は、「StrutsベースのWebアプリケーションでのBC4J JSPページ・フローについて」を参照してください。
コンポーネント・パレットからのBC4Jデータ・タグの挿入
BC4Jコンポーネント・タグのカスタマイズ
次のトピックは、BC4Jコンポーネント・タグのリファレンスです。