<browseMenu>要素
ネームスペース: http://xmlns.oracle.com/uix/ui
派生元: <ui:base>要素
グループ: UIX Components
要素の型: UINode

このタグは、カテゴリおよび項目の階層ツリー構造で情報が保持されるアプリケーションで使用します。 ユーザーはカテゴリをドリルダウンして、目的の項目を見つけることができます。
このBeanは、エージェントのタイプがPDA、携帯電話、音声の場合にはサポートされません。

構文
<browseMenu
    [ categoryTitle="string" ]
    [ defaultContents="boolean" ]
    [ formName="string" ]
    [ formSubmitted="boolean" ]
    [ itemTitle="string" ]
    [ longDesc="string" ]
    [ source="QName" ]
    [ title="string" ]
    [ unvalidated="boolean" ]
>
   <categories></categories>
   <contentLink></contentLink>
   <items></items>
   <location></location>
</browseMenu>

注意:
  • この要素は派生元要素のすべての属性と子要素を持つことができます。

  • 説明

    <browseMenu>要素は、カテゴリ(内部ノード)および項目(リーフ)の階層ツリー構造で情報が保持されるアプリケーションで使用します。 ユーザーはカテゴリをドリルダウンして、目的の項目を見つけることができます。 BrowseMenuには任意の数のカテゴリ、サブカテゴリおよびサブ・サブカテゴリを含めることができます。 BrowseMenuを使用する目的は、ユーザーがノードを1つずつ見ながら、複雑な階層構造のオブジェクトを参照できるようにすることです。

    BrowseMenuの属性および子

    BrowseMenuBeanは次の属性をサポートします。

    • title: BrowseMenuのタイトルを設定します。 このテキストは最上部のヘッダーに表示されます。 この属性が設定されていない場合、デフォルトのテキストは「参照」に設定されます。
    • categoryTitle: カテゴリ・セクションのタイトルを設定します。 このテキストはカテゴリの上のヘッダーに表示されます。 このヘッダーをレンダリングしないようにするには、2つの方法があります。 <categories>の名前の付けられた子がnullの場合、またはそのrendered属性がfalseに設定されている場合、ヘッダーはレンダリングされません。 したがって、たとえばカテゴリがない場合、タイトルはレンダリングされません。
    • itemTitle: 項目セクションのタイトルを設定します。 このテキストは項目の上のヘッダーに表示されます。 この属性が設定されていない場合、デフォルトのテキストは「項目」に設定されます。 このヘッダーをレンダリングしないようにするには、2つの方法があります。 <items>の名前の付けられた子がnullの場合、またはそのrendered属性がfalseに設定されている場合、ヘッダーはレンダリングされません。 したがって、たとえば項目がない場合、タイトルはレンダリングされません。
    • longDesc: タイトルのすぐ下に表示される、現在の位置を表す記述を設定します。 この属性が設定されていない場合、デフォルトのテキストは空の文字列に設定されます。
    • formName: 送信されるフォームの名前。
    • formSubmitted: フォーム送信を使用するかどうかを設定します。 フォーム送信はデフォルトではありません。したがってフォーム送信が必要な場合は、この属性を明示的にtrueに設定してください。

    BrowseMenuBeanは4つの名前の付けられた子をサポートします。

    • location: BrowseMenuの最上部でのロケータ要素のレンダリングに使用するBean。 この子が存在するが空の場合、rendered属性をfalseに設定し、正しい間隔調整で表示されるようにする必要があります。
    • contentLink: 現在のカテゴリのコンテンツへのリンクに使用するBean。 この子が存在するが空の場合、rendered属性をfalseに設定し、正しい間隔調整で表示されるようにする必要があります。
    • categories: カテゴリのレンダリングに使用するBean。 categoryTitle属性のテキストが表示されるヘッダーは、この子がnullではなく、かつそのrendered属性がtrueの場合にのみレンダリングされます。
    • items: 項目のレンダリングに使用するBean。 itemTitle属性のテキストが表示されるヘッダーは、この子がnullではなく、かつそのrendered属性がtrueの場合にのみレンダリングされます。

    BrowseMenuBeanは、実際にこれらの名前の付けられた子を適切な場所に配置するレイアウト・マネージャです。 BLAFガイドラインでは、BreadCrumbsBeanは位置の要素、LinkBeanはコンテンツ・リンクの要素、BulletedListBeanはカテゴリを表示するもの、別のBulletedListBeanは項目を表示するものとされています。

    BrowseMenuの使用方法

    BrowseMenuは、階層構造のデータ間の移動を補助する方法ですが、階層構造のデータはBrowseMenu自体には追加されません。 かわりに、階層構造で格納されているデータから適切な情報を抽出できるBrowseNodeDataObjectクラスが提供されています。 また、BLAFガイドラインのBrowseMenuを使用すると、BrowseMenuUtils.configureBrowseMenuを使用して、BrowseMenuに適切な属性および子を簡単に追加できます。 さらに、BrowseNodeDataObjectを使用してデータを結び付けることができます。 詳細は、BrowseMenuUtilsおよびBrowseNodeDataObjectを参照してください。

    ただし、BrowseMenuBeanでは、名前の付けられた子に適切なデータがすべて含まれているものとします。 前述のように、Beanは実際にはレイアウト・マネージャです。 BrowseMenuUtilsを使用しない場合は、適切なデータを持つBeanを作成し、それらを名前の付けられた子として追加する必要があります。

    BrowseMenuの正しい動作は、カテゴリをクリックすると、BrowseMenuによりそのレベルのデータが表示されることです。 この機能は、BrowseMenuBeanでは提供されません。 BrowseMenuUtilsをBrowseNodeDataObjectと組み合せて使用すると、この機能のデフォルト実装の1つが提供され、その一部または全部を使用できます。


    対話型のBrowseMenuのデータおよびハンドラの設定例です。 コメントは、その下のBrowseMenuのいずれかに置き換えてください。

      <ctrl:content>
        <dataScope xmlns="http://xmlns.oracle.com/uix/ui">
          <provider>
            <data name="demo:browseData">
              <method class="oracle.cabo.servlet.demo.BrowseMenuData"
                      method="getBrowseNodeDataObject"/>
            </data>
    
            <data name="demo:Nodes">
              <inline>
                <nodes text="Shop"
                       destination="http://www.oracle.com"
                       expandable="expanded"
                       selected="true">
                  <nodes text="Books"
                         destination="http://www.oracle.com"
                         expandable="expanded">
                    <nodes text="Sale"
                           destination="http://www.oracle.com"
                           expandable="expanded"
                           selected="true">
                      <nodes text="Millennium"
                             destination="http://www.oracle.com" />
                    </nodes>
                    <nodes text="Fiction"
                       destination="http://www.oracle.com"/>
                    <nodes text="Non-Fiction"
                       destination="http://www.oracle.com"/>
                  </nodes>
                  <nodes text="Hardware"
                     expandable="expanded" >
                  <nodes text="Desktops"
                     destination="http://www.oracle.com"/>
                  <nodes text="Notebooks"
                     destination="http://www.oracle.com"/>
                  </nodes>
                </nodes>
              </inline>
            </data>
    
          </provider>
          <contents>
            <form name="myForm">
              <contents>
    
    
                <!-- REPLACE THIS COMMENT WITH
                         ONE OF THE EXAMPLES BELOW -->
    
    
    
              </contents>
            </form>
          </contents>
        </dataScope>
    
      </ctrl:content>
      <ctrl:handlers xmlns="http://xmlns.oracle.com/uix/controller">
    
        <event name="browse">
          <method class="oracle.cabo.servlet.demo.BrowseMenuData"
                  method="browseEventHandler"/>
        </event>
    
      </ctrl:handlers>

    BrowseMenuの例です。

      <browseMenu id="myBrowseMenu"
                  title="${demo:data().browseData.text}"
                  longDesc="${demo:data().browseData.description}"
                  formSubmitted="true"
                  formName="myForm">
        <location>
          <breadCrumbs rendered="${demo:data().browseData.renderLocation}">
            <contents childData="${demo:data().browseData.locationData}">
              <link text="${uix.current.text}"
                       destination="${uix.current.destination}"/>
            </contents>
          </breadCrumbs>
        </location>
        <contentLink>
          <link text="${demo:data().browseData.destinationText}"
                destination="${demo:data().browseData.destination}"
                rendered="${demo:data().browseData.renderContentLink}"/>
        </contentLink>
        <categories>
          <bulletedList rendered="${demo:data().browseData.renderCategories}">
            <contents childData="${demo:data().browseData.categoriesData}">
              <link text="${uix.current.text}"
                       destination="${uix.current.destination}"/>
            </contents>
          </bulletedList>
        </categories>
        <items>
          <bulletedList rendered="${demo:data().browseData.renderItems}">
            <contents childData="${demo:data().browseData.itemsData}">
              <link text="uix.current.text"
                       destination="uix.current.destination"/>
            </contents>
          </bulletedList>
        </items>
      </browseMenu>

    次は、BrowseMenuの構成にBrowseMenuUtilsを使用する例です。

      <browseMenu id="myBrowseMenu"
                  formSubmitted="true"
                  defaultContents="true"
                  source="demo:browseData"/>

    属性

    説明
    categoryTitle カテゴリ・セクションのタイトル。 このテキストはカテゴリの上のヘッダーに表示されます。 この属性が設定されていない場合、デフォルトのテキストは「カテゴリ」に設定されます。
    string
    defaultContents デフォルトのBrowseMenuを設定するBrowseMenuUtils.configureBrowseMenuをコールするかどうかの指定。
    boolean
    formName BrowseMenuイベントの送信先のフォーム。
    string
    formSubmitted フォーム送信を使用するかどうかの設定。
    boolean
    itemTitle 項目セクションのタイトル。 このテキストは項目の上のヘッダーに表示されます。 この属性が設定されていない場合、デフォルトのテキストは「項目」に設定されます。
    string
    longDesc タイトルのすぐ下に表示される、現在の位置を表す記述。 この属性が設定されていない場合、デフォルトのテキストは設定されません。
    string
    source BrowseMenuUtils.configureBrowseMenuNameに渡されるネームスペースおよび名前。 型はXML修飾名です。つまり、データ・オブジェクトのネームスペースを示す接頭辞(XMLネームスペース定義によりマップされている必要があります)とローカル名を、コロンで区切って指定します。
    QName
    title BrowseMenuのタイトル。 このテキストは最上部のヘッダーに表示されます。 この属性が設定されていない場合、デフォルトのテキストは「参照」に設定されます。
    string
    unvalidated この要素をformSubmittedモードで使用した場合、デフォルト動作では、サーバーへの送信前にすべてのフォーム入力が検証されます。 この属性により、この検証を無効にできます。
    boolean

    子要素

    説明 必須 組込み可能な数
    <categories>
    カテゴリのレンダリングに使用するBean。
    いいえ 1
    <contentLink>
    カテゴリのコンテンツへのリンクに使用するBean。
    いいえ 1
    <items>
    項目のレンダリングに使用するBean。
    いいえ 1
    <location>
    最上部でのロケータ要素のレンダリングに使用するBean。
    いいえ 1