UIXコンポーネントにデータ・プロバイダを登録するには、dataScopeコンポーネントを使用します。dataScopeコンポーネントは、JDeveloperでUIXページを作成するときに自動的に追加されます。
dataScopeコンポーネントの子によるデータ要求は、他のプロバイダを使用する前に、まずこのコンポーネントに登録されたデータ・プロバイダにより処理されます。
データ・プロバイダは、provider要素およびdata要素を使用して指定します。任意の数のデータ・プロバイダを設定できます。データ・プロバイダはそれぞれ、単一のデータ要素によって指定されます。
データ・プロバイダを指定するときは、使用するdataObjectの名前を指定する必要があります。データ・オブジェクトの型はXML修飾名です。つまり、ネームスペースを示す接頭辞(XMLネームスペース定義によりマップされている必要があります)とローカル名を、コロンで区切って指定します。
ローカル名が「*」の場合、このデータ・プロバイダにはそのネームスペースにあるすべてのdataObjectsが要求されます。ネームスペースが省略されている場合、プライベート・ネームスペースとみなされます。
このデータ・プロバイダがnullを返した場合、UIXはこのdataObjectに適したその他すべてのdataProvidersを要求します。明示的に空の結果を返す必要がある場合、実装ではnullのかわりに空のdataObjectを返します。
Example:
...
<dataScope currentData="${dat1.formData}">
<contents>
<form name="form1">
<contents>
<header text="${uix.current.headerText}">
<contents>
<radioGroup selectedValue="${uix.current.color}"
name="color"
text="${uix.current.name}"
value="${uix.current.value}"
childData="${dat1.rad}"/>
<html:br/>
<messageTextInput name="stone" prompt="Enter Stone"
text="${uix.current.stone}" />
<html:br/>
<submitButton text="Submit" />
</contents>
</header>
</contents>
</form>
</contents>
<provider>
<data name="dat1">
<inline>
<formData headerText="Enter Form Data" color="00FF00"
stone="Jade" />
<rad name="Red" value="FF0000" />
<rad name="Green" value="00FF00" />
<rad name="Blue" value="0000FF" />
</inline>
</data>
</provider>
</dataScope>
...
dataScopeとproviderの使用
単純なコンポーネントおよびその他のコンポーネントの使用
Copyright © 1997, 2004, Oracle. All rights reserved.