dataScopeとproviderについて

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.