ビジネス・コンポーネント接続タグ - <jbo:CreateViewObject>

指定したビジネス・コンポーネント・アプリケーション・モジュールから、ビュー・オブジェクトのインスタンスを動的に作成します。

JSP構文

<jbo:CreateViewObject
   appid="appModuleInstanceName"
   name="viewObjectName"
   [ rangesize="number of rows displayed | -1 | 1" ]
>
      SQL_SELECT
</jbo:CreateViewObject>

説明

<jbo:CreateViewObject>データ・タグでは、ボディ内にSQLのSELECT文を定義できます。通常は、ユーザー入力から文を生成します。たとえば、ユーザー入力に基づいて作成した動的ビュー・オブジェクトにバインドしてLOV選択リストを表示します。

動的ビュー・オブジェクト・インスタンスを操作するには、<jbo:DataSource>タグを使用し、そのインスタンスに基づいてデータソースを作成する必要があります。このタグでは、行セットおよび属性を操作できるRowsetIterateタグやShowValueタグなどの他のデータ・タグに渡す動的ビュー・オブジェクトのIDを定義します。行セットを生成するには、CreateViewObjectタグのボディにSQLのSELECT文を含む必要があります。

<jbo: CreateViewObject >
 SQL Select goes here
</jbo: CreateViewObject >

その後、後述の例のように<jbo:RowsetIterate>および<jbo:ShowValue>データ・タグを使用して、結果セットからデータを表示できます。

注意: 動的ビュー・オブジェクトの属性名を参照するデータ項目には、大文字を使用する必要があります。CreateViewObjectデータ・タグは直接データベースに問合せを実行するため、通常のビジネス・コンポーネント属性の別名は無視され、データベース表の列名は常に大文字で表されます。

参照: oracle.jbo.ViewObject

属性

次の例では、CUSTOMERS表に対する問合せに基づいて動的ビュー・オブジェクトを作成します。ページにはビュー・オブジェクト属性であるPHONE_NUMBERが表示されます。動的ビュー・オブジェクトの属性名はデータベースの列名で決まるため(ビジネス・コンポーネント・プロジェクトの永続ビュー・オブジェクトに対して定義される属性の別名ではありません)、<jbo:ShowValue>のデータ項目(PHONE_NUMBER)の値は、列名と同じになります。

<%@ taglib uri="/webapp/DataTags.tld" prefix="jbo" %>
<%@ page contentType="text/html;charset=windows-1252"%>
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;
charset=windows-1252">
<TITLE>
Hello World
</TITLE>
</HEAD>
<BODY>
<jbo:ApplicationModule id="MypackageModule"
configname="mypackage.MypackageModule.MypackageModuleLocal"
releasemode="Stateful" />

<jbo:CreateViewObject appid="MypackageModule" name="MyNewViewObject" >
select * from CUSTOMERS
</jbo:CreateViewObject>

<jbo:DataSource appid="MypackageModule" id="ds1"
viewobject="MyNewViewObject" />
<jbo:RowsetNavigate datasource="ds1" action="First" />
<jbo:RowsetIterate datasource="ds1" >
<jbo:ShowValue datasource="ds1" dataitem="PHONE_NUMBERS" ></jbo:ShowValue>
</jbo:RowsetIterate>
</BODY>
</HTML>
@ <jbo:ReleasePageResources />