登録用のページが 2 つあります。1 つはユーザー データをリクエスト スコープの Bean に取得し、次の 1 つは収集したデータを表示します。2 番目のページには、ユーザーをログインにリダイレクトするためのボタンがあります。
register.xhtml のボタン アクションを次に示します。regUser.register の結果は、ユーザー データを表示する 2 番目のページの名前である reg_success です。
<p>
<h:commandButton value="#{msgs.regButtonText}" action="#{regUser.register}"/>
</p>
reg_success.xhtml には、ボタン用の次のコードがあります。
<p>
<h:commandButton value="#{msgs.regToLogin}" action="login"/>
</p>
ログイン ページの名前は login.xhtml です。
このナビゲーション ルールを faces-config.xml に挿入しても、転送は行われません。実際、register.xhtml からユーザーが転送され、2 ページ目の URL は変更されません。
<navigation-rule>
<from-view-id>/reg_success.xhtml</from-view-id>
<navigation-case>
<from-outcome>login</from-outcome>
<to-view-id>/login.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>