詳細アイコン ADF Facesコンポーネントの使用

このアプリケーションでは、ページのウィジェットにOracle ADF Facesコンポーネントを使用します。ADF Facesは、JavaServer Faces(JSF)に完全に準拠したコンポーネント・ライブラリであり、JSFアプリケーション開発用に、広範囲の拡張ユーザー・インタフェース(UI)・コンポーネントが用意されています。ADF Facesによってアプリケーションの一貫したルック・アンド・フィールが保証されるため、開発者はルック・アンド・フィールではなく、ユーザー・インタフェースの相互作用に作業を集中できます。

ADF Faces UIコンポーネントには、列ソートおよび行選択機能を備えた拡張表、データを階層表示するツリー・コンポーネント、色ピッカーと日付ピッカーの他に、メニュー、コマンド・ボタン、シャトル選択、進捗メーターなどの多数のコンポーネントがあります。

設定が容易なADF Facesコンポーネントによって、ユーザー操作が簡略化されます。たとえば、ファイル・アップロード用の入力ファイル・コンポーネントや、別のウィンドウに移動し、選択した値を使用して移動元のページに戻るための、ビルトイン・ダイアログを備えた選択入力コンポーネントなどがあります。

この例では、ADF Facesのtable inputTextおよびcommandButtonの各コンポーネントを使用しています。次のコードがJSFページに追加されています。

inputTextコンポーネント

   <af:inputText value="#{bindings.name.inputValue}"
                 label="#{bindings.name.label}"
                 required="#{bindings.name.mandatory}"
                 columns="#{bindings.name.displayWidth}">
     <af:validator binding="#{bindings.name.validator}"/>
   </af:inputText>    

commandButtonコンポーネント

   <af:commandButton actionListener="#{bindings.findContactsByName.execute}"
                     text="findContactsByName"
                     disabled="#{!bindings.findContactsByName.enabled}"/>    

tableコンポーネント

   <af:table value="#{bindings.findContactsByName1.collectionModel}"
             var="row" rows="#{bindings.findContactsByName1.rangeSize}"
             first="#{bindings.findContactsByName1.rangeStart}"
             emptyText="#{bindings.findContactsByName1.viewable ? \'No rows yet.\' : \'Access Denied.\'}">
     <af:column headerText="#{bindings.findContactsByName1.labels.email}"
                sortProperty="email" sortable="true">
       <af:outputText value="#{row.email}"/>
     </af:column>
     <af:column headerText="#{bindings.findContactsByName1.labels.name}"
                sortProperty="name" sortable="true">
       <af:outputText value="#{row.name}"/>
     </af:column>
   </af:table>    

JSFページ、プロジェクトおよびアプリケーションの変更

現在のページおよびプロジェクト・ファイルでソース・コードを検証すると、元のJSFページに対していくつかの追加および変更が加えられています。ADF Facesコンポーネントを最初にJSFページに追加すると、JDeveloperによって次の追加または変更が自動的に実行されます。