ナビゲーションとは?
Webサイトでは、必要に応じて他のページに移動する、という操作をよく行います。JSFでも、もちろんページ移動の機能は用意されています。もっとも簡単な方法は「ナビゲーション」という機能を使ったものです。
ナビゲーションは、JSFの設定ファイルに「ナビゲーション・ルール」と呼ばれるページ移動のための情報を記述しておき、それを呼び出してページ移動を行わせるものです。設定ファイルに情報を記述するため、後で移動先のページが変更になったような場合でも、設定ファイルを書き直すだけで済み、いちいちプログラムのソースコードを修正したりする必要がありません。
このナビゲーション・ルールは、以下のような形で記述します。
<faces-config ……略……>
……略……
<navigation-rule>
<display-name>表示名</display-name>
<from-view-id>移動元ページ</from-view-id>
<navigation-case>
<from-outcome>名前</from-outcome>
<to-view-id>移動先ページ</to-view-id>
</navigation-case>
</navigation-rule>
</faces-config>
JSFの各種の設定情報は、<faces-config>タグの中に記述するのが基本でしたね。Bean情報などもこの中に書かれていました。ナビゲーション・ルールも、やはりこの中に用意します。
<navigation-rule>というのが、ナビゲーション・ルールを記述するタグです。この中には、以下のような項目が記述されます。
display-name――ナビゲーション・ルールの表示名です。これは、faces-config.xmlをグラフィカルなエディタなどで編集するときに名前として表示したりするものです。
from-view-id――移動元のページを指定します。
navigation-case――移動先に関する設定をまとめるものです。
from-outcome――ページ移動のアクション名です。この名前を指定することで、ページ移動が実行されます。
to-view-id――移動先のページ指定です。
特定のページに移動するための<navigation-case>タグは、複数のものを用意することができます。また<navigation-rule>タグも必要なだけ複数用意しておけます。