行インスタンスで指定された行の属性を個別に更新します。
JSP構文
<jbo:SetAttribute
datasource="datasourceInstanceName"
dataitem="attributeName | *"
[ value=" attributeValue" ]
[ usemultipartformat="Yes | No" ]
/>
説明
属性の更新に使用する値は、次のいずれかです。
<jbo:Row>
データ・タグを使用して行インスタンスを作成します。<jbo:SetAttribute>
タグは、更新処理を実行する行インスタンス定義内に含める必要があります。
フォーム入力からのデータをHTTPリクエスト・パラメータを使用して処理する場合、SetAttributeタグのdataitemプロパティにワイルド・カード文字(*)を指定します。ワイルド・カードを指定すると、<jbo:SetAttribute>
タグは行インスタンスのデータ・ソースで定義されたビュー・オブジェクトの属性名と一致するHTTPリクエスト・パラメータを探します。一致した場合、<jbo:SetAttribute>
タグはビュー・オブジェクトの属性をHTTPリクエスト・パラメータの値で更新します。
HTTPリクエスト・パラメータ内のIntermediaデータタイプを処理する場合は、mulitpart/form-dataフォーマットでエンコードされたMIMEタイプを使用してHttpRequestオブジェクトを渡すことになります。この場合、SetAttributeタグのusemultipartformatプロパティをYes
に設定する必要があります。
オブジェクト・タイプのフィールドにアクセスするには、dataitemをaddress.street
のようなドット表記法で指定します。
参照: oracle.jbo.Row
属性
datasource-更新する属性を含むデータ・ソースID。データ・ソース・データ・タグを使用してデータ・ソースを作成します。
dataitem-HTTPパラメータから値を取得する際に、その値から更新するデータまたはアスタリスク(*)を含む特定のビュー・オブジェクト属性(行インスタンスによって識別されるデータ・ソース内にある)の名前。
注意: HTTPパラメータを使用して値を取得する場合は、すべての属性名と照合するために、dataitemでアスタリスク(*)を使用する必要があります。これが必要な理由は、HTTPパラメータから取得される値は実行時まで未知であるからです。
value-dataitemでアスタリスク(*)文字が使用される場合に設定または空白にする属性のデータ値。HTTPパラメータを使用する場合、アスタリスク(*)文字を使用して値プロパティを指定しません。
usemultipartformat-デフォルト値はNo
です。HTTPパラメータから値を取得し、HttpRequestオブジェクトのMIMEタイプが"multipart/form-data"形式でエンコードされる場合は、Yes
に設定します。たとえば、オーディオ・イメージやビデオ・イメージなどのIntermediaデータ型を処理する場合は、Yes
に設定します。
例
次に示す<jbo:SetAttribute>
の例では、staticとdynamicの両方の値を使用して行属性を更新します。
<jbo:Row id="row1" datasource="ds1" action="Current" >
<jbo:SetAttribute dataitem="Contactname" value="<%= first_name %>" />
<jbo:SetAttribute dataitem="Status" value="P" />
<jbo:SetAttribute dataitem="CustomerId" value="<%= cust_id %>" />
</jbo:Row>
次に示す<jbo:SetAttribute>
の例では、dataitem属性にワイルド・カード(*)を使用しています。HTTPリクエスト・パラメータを使用して行属性の値を設定するフォームを定義する場合は、ワイルド・カードを使用する必要があります。<jbo:SetAttribute>
タグでdataitem属性にワイルド・カードを使用すると、属性名がHTTPリクエストのパラメータ名と一致する行の属性が更新されます。
<jbo:Row id="row1" datasource="ds1" action="Current" >
<jbo:SetAttribute dataitem="*" usemultipartformat="Yes" />
</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="tiger" />
<jbo:SetAttribute dataitem="Firstname" value="tiger" />
<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 />
ビジネス・コンポーネントJSPページのマルチメディア・コンテンツについて
ビジネス・コンポーネントJSPページのマルチメディア・コンテンツのレンダリング
Copyright © 1997, 2006, Oracle. All rights reserved.