進行状況のチェック・リストおよび増加リストについて

BoundedRangeModelバインディングを備えたADF Facesのaf:forEachタグと出力コンポーネント(outputTextobjectImageなど)を使用すると、一連のステップで構成されたバックグラウンド・タスクまたはプロセスが進行中であることをユーザーに示すことができます。進行状況を視覚的に示す2種類の表示(チェック・リストと増加リスト)を作成できます。

次の図は進行状況チェック・リストです。バックグラウンド・タスクまたはプロセスが実行している全ステップが視覚的にリストされます。各ステップが完了すると、そのステップの横にチェック・マークが表示されます。

6つのステップが記載され、最初の2つにチェック・マークが付いているリスト

次の図は進行状況増加リストです。ステップがバックグラウンド・タスクで完了すると、ステップの説明がリストに追加されます。

4ステップが記載されているリスト

進行状況チェック・リストのコード・サンプル:

<af:panelGroup layout="horizontal">
  <af:objectSpacer width="30"/>
  <af:panelGroup layout="vertical" partialTriggers="pollid" id="pg1">
    <af:forEach var="progressStep"
                varStatus="vs" 
                begin="0" 
                end="#{progressSteps.progressModel.maximum - 1}" 
                items="#{progressSteps.progressSteps}">
      <af:panelGroup layout="horizontal">
        <af:objectSpacer width="13"
                         rendered="#{vs.index > progressSteps.progressModel.value}"/>
        <af:objectImage source="/components/images/processCheck.gif" 
                        rendered="#{progressSteps.progressModel.value >= vs.index}"/>
        <af:objectSpacer width="5"/>
        <af:outputText value="#{progressStep}" styleClass="instruction"/>
      </af:panelGroup>
    </af:forEach>
  </af:panelGroup>
</af:panelGroup>    

進行状況増加リストのコード・サンプル:

<af:panelGroup layout="horizontal">
  <af:objectSpacer width="30"/>
  <af:panelGroup layout="vertical" partialTriggers="pollid" id="pg2">
    <af:forEach var="progressStep" 
                varStatus="vs" 
                begin="0" 
                end="#{progressSteps.progressModel.maximum - 1}" 
                items="#{progressSteps.progressSteps}">
      <af:panelGroup layout="horizontal">
        <af:outputText value="#{progressStep}" styleClass="instruction"
                       rendered="#{progressSteps.progressModel.value >= vs.index}"/>
      </af:panelGroup>
    </af:forEach>
  </af:panelGroup>
</af:panelGroup>    

ポーリング・コンポーネント:

<af:poll interval="2000"
         id="pollid"
         pollListener="#{progressSteps.onPoll}"/>     

バッキングBeanには、タスクの進行状況を計算するメソッド、リストを作成したりステップをチェックするメソッド、およびタスクの取消しと完了を処理するメソッドが含まれます。バッキングBeanコードの詳細な例は、「ADF Facesのデモ・ファイルについて」の進行状況ステップ機能のデモを参照してください。


af:forEachについて
プログレス・バーについて
ADF Facesのポーリングについて
ADF Facesでの部分ページ・レンダリングのサポートについて