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

行インスタンスで指定された行の属性を個別に更新します。

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

属性

次に示す<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ページのマルチメディア・コンテンツのレンダリング