アンヘル・レナードの本からの抜粋、
<view tag>
: タグ内にネストされ<flow-definition>
、フロー ノードを表す JSF ページを示します。明示的な ID を各ページ (Facelet) パスに関連付けます (さらに、ID で各ページを参照できます)。ページ パスはタグにマップされ、<vdl-document>
タグにネストされ<view>
ます。このタグの存在はオプションですが、慣例として、少なくとも<view>
開始ノード (開始ページ) を示すタグが存在します。特に、デフォルトのもの以外に別の開始ノードを設定する場合は、フローと同じ名前 (ID) のフロー。さらに、オプションの<start-node>ID</start-node>
タグを使用して、の ID を示すことができます。<view>
カスタム開始ページをマップするタグ。別の方法として、タグの id 属性の値をフロー ID として設定し、カプセル化されたタグのコンテンツをカスタム開始ページのパスとして設定することによって、フローの開始ノードを示すことができます。フロー ID を参照すると、JSF はそのページに移動し、自動的にフローに入ります。
webapp
次のように、ディレクトリに関連する4つのページがあるとします。
index.xhtml
registration/registration.xhtml
registration/confirm.xhtml
done.xhtml
著者は、この設定を次のように提案していますfaces-config.xml
。
<flow-definition id="registration">
<view id="registration">
<vdl-document>/registration/registration.xhtml</vdl-document>
</view>
<flow-return id="taskFlowReturnIndex">
<from-outcome>/index</from-outcome>
</flow-return>
<flow-return id="taskFlowReturnDone">
<from-outcome>/done</from-outcome>
</flow-return>
</flow-definition>
実際に実験してみてわかったのは、
<view id="registration">
<vdl-document>/registration/registration.xhtml</vdl-document>
</view>
同じ著者によって提唱されているようにオプションです。
これで十分です (id
フローを作成する必要がある JSF ビューと同じ名前の属性)。
<flow-definition id="registration">
...
</flow-definition
さらに、フローは、id
属性 <flow-definition id="registration">
が JSF ビューの名前と正確に一致する場合にのみ作成されます。つまり、次のようになります。
registration
.xhtml
同じ抜粋の一部を繰り返す:
...少なくとも、
<view>
開始ノード (開始ページ) を示すタグが存在します。特に、 をフローとして使用するフロー内のページで表される のset another start node
ほかに 必要な場合。さらに、オプションのタグを使用して 、カスタム開始ページをマップするタグのを示すことができます。default one
same name (ID)
<start-node>ID</start-node>
ID
<view>
はるかに簡単な言葉で言えば、彼はこのように同じ内にネストして行うことを提案しています<flow-definition>
。
<view id="confirm">
<vdl-document>/registration/confirm.xhtml</vdl-document>
</view>
<start-node>confirm</start-node>
index.xhml
しかし、からへ行くことは返されconfirm.xhtml
ないことがわかりますtrue
In flow ? #{null != facesContext.application.flowHandler.currentFlow}
index.xhtml
からにナビゲートするときconfirm.xhtml
など。
助言がありますか?