JSFでグローバルナビゲーションルールを追加する方法は?

問題

グローバルナビゲーションルールは、すべてのページに適用されるルールです。たとえば、すべてのページがアクセスできる「 logout 」ナビゲーションルールを適用します。 JSFでそれを設定する方法はありますか?

解決策

JSFでは、ナビゲーションルールでワイルドカードがサポートされていますが、「 ** 」を使用してすべてのページに適用されるナビゲーションルールを指定できます。

<navigation-rule>
   <from-view-id>** </from-view-id>
   <navigation-case>
    <from-outcome>logout</from-outcome>
    <to-view-id>logout.xhtml</to-view-id>
   </navigation-case>
</navigation-rule>

この例では、Webアプリケーション内のすべてのページが「 logout 」ナビゲーションにアクセスできます。

別の例を参照してください。

<navigation-rule>
   <from-view-id>/customer/** </from-view-id>
   <navigation-case>
    <from-outcome>validation</from-outcome>
    <to-view-id>customer-validation.xhtml</to-view-id>
   </navigation-case>
</navigation-rule>

このルールは、接頭辞 /customer/ で始まるすべてのページに適用されます。

できます。

<from-view-id>/customer/** </from-view-id>

それは決して一致しません…​

<from-view-id>/cus** mer/</from-view-id>
<from-view-id>/c** sto** er/** </from-view-id>
<from-view-id>** /customer</from-view-id>

jsf jsf2 リンク://タグ/ナビゲーションルール/[ナビゲーションルール]

前の投稿:Java Swing - JOptionPaneのshowInputDialogの例
次の投稿:pretty print JSON出力を有効にする方法(Jackson)