<jbo:RowsetIterate>

指定されたデータソースの行を反復します。

JSP構文

<jbo:RowsetIterate
   datasource="datasourceInstanceName"
   [ changecurrentrow="true | false" ]
   [ userange="true | false" ]
>
      [JSP tags in RowsetIterate body]
</jbo:RowsetIterate>

説明

RowsetIterateタグは、指定されたデータソース行セットの行を反復します。反復対象の行は、データソース・インスタンスの指定範囲により制限されます。イテレータは、データソース行セット範囲にある最初の行から最後の行へ順に処理を実行します。

RowsetIterateタグの本体では、次の行に進む前に、反復された行に対して処理を実行できます。たとえば、RowsetIterateタグを使用し、マスター/ディテール・ページに行セット・データを表示できます。反復される行からデータを抽出するためには、表示するデータソースに対してイテレータ・インスタンスを1つ作成し、ShowValueタグを使用するだけです。

注意: RowsetIterateタグの本体に挿入するタグは、RowsetIterateで指定されたデータソースからデータソース・インスタンスを取得します。これにより、RowsetIterateタグ本体に記述する属性の数を減らすことができます。

changecurrentrow属性により、データソースの行セットを反復する際に、現在の行を変更するかどうかを制御します。データソース内の行の現在位置を変更すると、追加の問合せが実行されるかもしれません。changecurrentrow属性を有効にした場合、行イテレータは現在の行にマスター/ディテール・ビュー・リンクが存在するかどうかを判断し、存在する場合はディテール行を取得するために問合せが実行されます。JSPページで現在の行を変更してマスター/ディテール表の行セット・データを表示する必要がない場合、追加の問合せが実行されないようにするためにchangecurrentrow属性を無効にします。

注意: 順方向のみのモードでBC4Jデータソースを使用するJSPページでは、<jbo:RowsetIterate>データ・タグで現在の行を変更できない場合、ランタイム例外がスローされます。順方向のみのモードが有効に設定されているデータソースを使用する場合は、changecurrentrowtrue(デフォルト)のままにしておいてください。

RowsetIterateタグで設定するイテレータ自体には、条件設定がありません。行セットの結果を制限する条件の定義は、ビジネス・コンポーネント・データソースに対して設定する必要があります。

参照項目: oracle.jbo.RowIterator

属性

次の例では、データソースの行セットを反復して、各行のName属性のリンクを表示する表を作成します。

<jbo:RowsetIterate datasource="category_vo">
  <TR>
    <TD colspan=3>
    <a href="srch_results.jsp?cid=<jbo:ShowValue dataitem="Id" />" target="contentsframe"> <jbo:ShowValue dataitem="Name"/></a>
    </TD>
  </TR>
</jbo:RowsetIterate>