このトピックでは、ビジネス・コンポーネント・ランタイムで提供されている行検索機能と、ビジネス・コンポーネント・データ・タグでその機能がどのように操作されるかについて説明します。 ビジネス・コンポーネント・データ・タグは、ビュー・オブジェクトを移動する様々な方法を提供します。
<jbo:RowsetNavigate>
データ・タグを使用して、「First」、「Next」、「Previous」および「Last」の行へ移動できます。
行キーを含むURLの生成
行キーは行セット内の行に対する一意の識別子です。キーは、行セット内でその行を検索するために後から使用できる不透明オブジェクトです。 次のSnippetでは、行セット(DataSourceデータ・タグで定義)内のすべての行を反復するために<jbo:RowsetIterate>
タグが使用されています。
<jbo:ApplicationModule configname="myPackage.MyPackageModule.MyPackageModuleLocal"
id="MyPackageModule" releasemode="Stateful" />
<jbo:DataSource id="dsMaster" appid="MyPackageModule"
viewobject="DeptView">
</jbo:DataSource>
<table border="1">
<jbo:RowsetIterate datasource="dsMaster" >
<TR>
<TD><a href="detail.jsp?RowKeyValue=<jbo:ShowValue datasource='dsMaster'
dataitem='RowKey'/>">See this record</a>
</TD>
<TD>Department Name:</TD>
<TD><jbo:ShowValue datasource="dsMaster" dataitem="Dname">
</jbo:ShowValue>
</TD>
</TR>
</jbo:RowsetIterate>
</table>
マスター・ページの重要な部分はHREFのShowValueタグ内にあります。
<a href="submit.jsp?RowKeyValue=<jbo:ShowValue datasource='dsMaster'
dataitem='RowKey'/>">See this record</a>
これにより、submit.jspを起動するアンカーが生成され、RowKeyValue
HTTPパラメータ(RowKeyValueには、アプリケーション固有の任意の名前を選択可能)が渡されます。 コードでは、専用の属性値RowKey
を使用して行IDの文字列をレンダリングするために、<jbo:ShowValue>
タグが使用されています。
行キーHTTPパラメータに基づく行の検索
ディテール・ページでは、マスター・ページでクリックされた行を検索するために、RowKeyValue HTTPパラメータを使用します。このためにRowタグを使用します。このタグは、そのキー値を含むHTTPパラメータ名に基づいて、正しい行を自動的に検索します。次に示すのは、ディテール・ページの構文です。
<jbo:ApplicationModule configname="myPackage.MyPackageModule.MyPackageModuleLocal"
id="MyPackageModule" releasemode="Stateless" />
<jbo:DataSource id="dsMaster"
appid="MyPackageModule"
viewobject="DeptView" >
</jbo:DataSource>
<jbo:RefreshDataSource datasource="dsMaster" />
<jbo:Row id="masterRow"
datasource="dsMaster"
action="Find"
rowkeyparam="RowKeyValue" >
</jbo:Row>
<jbo:DataSource id="dsDetail"
appid="Package17Module"
viewobject="EmpView" >
</jbo:DataSource>
<h2>Employees for Department: <jbo:ShowValue datasource="dsMaster"
dataitem="Dname" >
</jbo:ShowValue>
</h2>
<table border="1">
<jbo:RowsetIterate datasource="dsDetail" >
<TR>
<TD>Employee Name</a>
</TD>
<TD><jbo:ShowValue datasource="dsDetail" dataitem="Ename">
</jbo:ShowValue>
</TD>
</TR>
</jbo:RowsetIterate>
</table>
受信ページの重要な部分は<jbo:Row>
タグ内にあります。
<jbo:Row id="masterRow" datasource="dsMaster" action="Find" rowkeyparam="RowKeyValue" >
</jbo:Row>
このコードでは、正しい行を検索し、それを指す現在位置を設定します。パラメータ名が一致することを確認する必要があります。
注意: アプリケーション・モジュールをステートフル解放モード(デフォルト)で使用中の場合は、行キーを使用して行を検索する前に、ビュー・オブジェクトをリフレッシュする必要があります。データソースは次のコードを使用してリフレッシュできます。
<jbo:RefreshDataSource datasource="dsMaster" />
ビジネス・コンポーネント・データ・タグについて
ビジネス・コンポーネント・データ・タグを使用した行の編集について
次のトピックは、ビジネス・コンポーネント・データ・タグのリファレンスです。
リファレンス: ビジネス・コンポーネント・データ・タグ・ライブラリ
Copyright © 1997, 2004, Oracle. All rights reserved.