ビジネス・コンポーネント・データ・アクセス・タグ - <jbo:Row>

行インスタンスを取得し、その行に対して操作を実行します。

JSP構文

<jbo:Row
   id="rowInstanceName"
   datasource="datasourceInstanceName"
   [ action="active | create | createinrange | createonly | current | delete | find | get | lock | update" ]
   [ rowkeyparam="HTTP parameter name"] | [ rowkey="rowPointer" ] >
      [JSP_tags]
</jbo:Row>

説明

<jbo:Row>データ・タグは、行インスタンスに対する行の取得および行操作を実行します。

行の取得操作には次のものがあります。

行操作を実行するには、その前に特定の行を検索する必要があります。 データソースの行を特定するには、次のようにして<jbo:Row>タグを使用します。

<jbo:Row>タグで実行可能な行操作は次のとおりです。

参照項目: oracle.jbo.Row

属性

次の例では、ユーザーが別のJSPページで選択したマスター行に対するディテール行セットを、<jbo:Row>タグを使用して表示します。この例では、行の選択ページでHREFアンカーが生成されます。ユーザーがこれをクリックすると、ディテール・ページが起動されます。

次のコードでは、マスター表のHREFが、RowKeyValue HTTPパラメータ(パラメータ名はアプリケーション固有)を渡します。このパラメータは、ユーザーがShowValueタグのdataitemを特別な属性値であるRowKeyに設定して取得したものです。

<jbo:ApplicationModule id="MyPackageModule"
    configname="myPackage.MyPackageModule.MyPackageModuleLocal"
    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>        

受信ページでは、<jbo:Row>タグのfindアクションにより、渡された行キー値を含むHTTPパラメータの名前に基づいてユーザーがクリックした行を特定します。 find処理でマスター・データソースの現在の行を設定することにより、ディテール行セットが表示可能になります。

注意: ステートフル解放モードでアプリケーション・モジュールを使用する場合(デフォルト)は、行キーを使用して行を検索する前にデータソースをリフレッシュする必要があります。 データソースは次のコードを使用してリフレッシュできます。

<jbo:RefreshDataSource datasource="dsMaster" />

定義済のRowKeyValue HTTPパラメータを(送信および受信JSPページでこのパラメータ名が使用されているか確認したうえで)使用し、渡された行のディテール・ビューを表示する受信ページの構文を次に示します。

<jbo:ApplicationModule id="MyPackageModule"
 configname="myPackage.MyPackageModule.MyPackageModuleLocal"
 releasemode="Stateful" />

<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="MyPackageModule" 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:Row>タグは、その他のタスクの実行にも使用できます。次の例では、データソースに新規レコードを挿入します。

<%@ taglib uri="/webapp/DataTags.tld" prefix="jbo" %>
  <jbo:ApplicationModule id="OnlineOrdersModule"
  configname="OnlineOrders.OnlineOrdersModule.LocalConfig"
  releasemode="Stateless"
  />

<jbo:DataSource id="ds1" appid="OnlineOrdersModule" viewobject="CustomerView" >
</jbo:DataSource>

<jbo:Row id="newRow" datasource="ds1" action="create" >
  <jbo:SetAttribute dataitem="Id" value="101" />
  <jbo:SetAttribute dataitem="Lastname" value="wong" />
  <jbo:SetAttribute dataitem="Firstname" value="howard"/>
  <jbo:SetAttribute dataitem="Address.Street" value="101 Main st" />
  <jbo:SetAttribute dataitem="Address.City" value="Redwood City" />
</jbo:Row>

</BODY>
</HTML>

<jbo:Commit appid="OnlineOrdersModule" />

<jbo:ReleasePageResources /

    

 

Copyright © 1997, 2004, Oracle. All rights reserved.