プロセス・トレインについて

事前定義された一連のページ内でのユーザーの現在位置を示し、ユーザーがページ間を移動できるようにするには、ADF FacesのProcessTrainコンポーネントを使用します。たとえば、すべての新入社員がアクセスする3つのページ(次の図を参照)を指定できます。

プロセス・トレインでのページおよび関連のステップ

ProcessTrainコンポーネントは、各ステップを次に示すような順で表示します。

第2ステップが選択されているプロセス・トレイン

順序内の各ページには、ほぼ同じプロセス・トレインが表示されますが、選択中として示されるノードは、現在表示されているページによって異なります。このトレインが示すように、現在ユーザーは第2ステップにいます。ProcessTrainnodeStampファセットは、リンクに対してテキストとナビゲーションを提供するmenuItemコンポーネント(commandMenuItemまたはgoMenuItem)を受け入れます。

ProcessChoiceBarを使用すると、追加のナビゲーションを提供できます。このコンポーネントは、ユーザーがトレイン内のページを選択できる選択ボックスをレンダリングします。トレイン内を移動できる戻るボタンと進むボタンもレンダリングします。

ナビゲーションとドロップダウン・メニューを備えたプロセス選択バー

ProcessTrainコンポーネントは、MenuModelメニュー階層と類似)を使用して、トレインを動的に作成できます。ProcessTrainコンポーネントをメニュー・モデルに値バインディングします。これをサポートするには、コンポーネントにnodeStampファセットが必要です。詳細は、「プロセス・トレインの作成」を参照してください。

ユーザーがアクセスできるページを、現在のページに基づいて制御する場合は、ADF Facesが提供する2つのデフォルト方法のいずれかを使用できます。

Plus One
ユーザーは、トレイン内で現在のページより前のページに戻るか、1ステップ前進できます。したがって、5ステップのトレインで、最初に第4ステップに移動した後に第1ステップに戻ったユーザーが、次に進めるのは第2ステップのみです。それ以前に第3または第4ステップに移動していたとしても、これらのステップにはスキップできません。
Max Visited
ユーザーは前のページに戻るか、すでに移動したことのあるページ(最大ステップと呼ばれる)まで前進できます。この方法では、第1ステップに戻った後、第3ステップにスキップできます。ただし、第5ページには移動したことがないため、第5ページに進めるのは第4ページからのみです。

これらの方法は、プロセス・トレイン内で使用するコマンド・コンポーネントのimmediate属性とreadOnly属性の両方に影響を与えます。トレインをプロセス・トレイン・モデルにバインドする場合は、oracle.adf.view.faces.model.ProcessMenuModelおよびoracle.adf.view.faces.model.ProcessUtilsクラスを使用して、これらの属性を設定します。これらのクラスの詳細は、ADF FacesのJavadocを参照してください。

immediate属性

現在のステップのデータを検証する必要がない場合は、immediate属性をTrueに設定してください。たとえば、Plus Oneの方法で、第4ステップから第2ステップに戻った場合は、再度第4ステップを通る必要があります。したがって、第1、第2または第3ステップに戻る場合はデータを検証する必要はありませんが、第5ステップに進む場合は検証が必要です。

トレインをプロセス・トレイン・モデルにバインドする場合は、ノードのimmediate属性をモデルのimmediate属性にバインドできます。ProcessMenuModelクラスは、次のロジックを使用してimmediate属性の値を判断します。

readOnly属性

プロセスのステップが、現在のステップに達していない場合のみ、readOnly属性をtrueに設定してください。トレインをプロセス・トレイン・モデルにバインドする場合は、ノードのreadOnly属性をモデルのreadOnly属性にバインドできます。ProcessMenuModelクラスは、次のロジックを使用して値を判断します。

次の図に、これらの方法によるcommandMenuItemコンポーネントへの影響を示します。ユーザーは、許可されていないトレインのページを選択できません。

制限されたプロセス・トレイン

ページでProcessChoiceBarを使用する場合、選択ボックスに表示されるのは、許可されたページのみです。


プロセス・トレインの作成
プロセス・トレイン・モデルの作成
値バインディングについて
ADF Facesコンポーネントの使用