行インスタンスで指定された行の特定の属性を更新します。
<jbo:SetAttribute
datasource="datasourceInstanceName"
dataitem="attributeName | *"
[ value=" attributeValue" ]
[ usemultipartformat="true | false" ]
/>
属性の更新には次の値のいずれかを使用します。
行インスタンスは<jbo:Row>
データ・タグを使用して作成します。 <jbo:SetAttribute>
タグは、更新処理を実行する行インスタンス定義の内部に挿入する必要があります。
HTTPリクエスト・パラメータを使用してフォーム入力のデータを処理する場合は、SetAttributeタグのdataitemプロパティに対してワイルド・カード文字(*)を指定します。 ワイルド・カードを指定すると、<jbo:SetAttribute>
タグは、行インスタンスのデータソースで定義されたビュー・オブジェクトの属性名に一致するHTTPリクエスト・パラメータを検索します。 一致するパラメータが見つかった場合、<jbo:SetAttribute>
タグは、このHTTPリクエスト・パラメータ値でビュー・オブジェクトの属性を更新します。
HTTPリクエスト・パラメータでinterMediaデータ型を処理する場合は、multipart/form-data形式でエンコードされたMIMEタイプでHttpRequestオブジェクトを渡します。この場合、SetAttributeタグでは、usemultipartformatプロパティをtrue
に設定する必要があります。
オブジェクト型フィールドには、address.street
のようにdataitemにドット表記法を使用してアクセスします。
参照項目: oracle.jbo.Row
datasource: 更新する属性を含むデータソースのID。 データソースはデータソース・データ・タグを使用して作成します。
dataitem: データを更新する(データソース内の、行インスタンスで識別された)特定のビュー・オブジェクト属性の名前。HTTPパラメータによる動的値で更新する場合はアスタリスク(*)を使用します。
注意: HTTPパラメータを使用して値を取得する場合は、dataitemにアスタリスク(*)を使用して、すべての属性名に一致するようにします。HTTPパラメータから取得した値は実行時まで不明であるため、この指定が必要となります。
value: 設定する属性のデータ値、またはdataitemにアスタリスク(*)が使用されている場合は空白。アスタリスク(*)を使用してHTTPパラメータを使用する場合、valueプロパティは指定しないでください。
usemultipartformat: デフォルト値はfalse
です。HTTPパラメータから値を取得し、HttpRequestオブジェクトのMIMEタイプがmultipart/form-data形式でエンコードされている場合は、true
に設定します。たとえば、オーディオやビデオ・イメージなどのintermediaデータ型を処理する場合はtrue
に設定します。
次の<jbo:SetAttribute>
の例では、静的値と動的値の両方を使用して行の属性を更新します。
<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リクエスト・パラメータを使用して行属性値を設定するようにフォームを定義する場合に使用する必要があります。 dataitemにワイルド・カードが指定された<jbo:SetAttribute>
タグは、名前がHTTPリクエスト・パラメータ名に一致する属性の行属性を更新します。
<jbo:Row id="row1" datasource="ds1" action="Current" >
<jbo:SetAttribute dataitem="*" usemultipartformat="true" />
</jbo:Row>
もう1つの例を次に示します。
<%@ 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, 2004, Oracle. All rights reserved.