ナビゲーション ルールの定義
プロジェクト設定の次のステップでは、アプリケーション内での Web ページのナビゲーション フローを定義します。このサンプル アプリケーションでは、次の 2 つの場合のナビゲーション ルールを定義します。
- ユーザーが Crystal Enterprise へのログオンを試みた場合
- ユーザーが、contents.jsp にある、表示したいレポートをクリックした場合
ログオンのナビゲーション ルール
この機能を実装するには次の手順に従います。
- ログオン フォームに、ログオンの成功または失敗を示す文字列を返すアクション メソッドを追加します。
- 返される文字列に基づき、
faces-config.xml
にナビゲーション ルールを定義します。
後でアクション メソッドを追加して、このログオン フォームを含む logon.jsp を完成します(アクション メソッドの追加を参照)。ここでは、ログオンの試みが成功した場合には文字列“logon_success”を、失敗した場合には文字列“logon_failure”を返すメソッドを例にとって説明します。まず、ナビゲーション ルールを定義します。
Crystal Enterprise へのログオンに関するナビゲーション ルールを定義する
- プロジェクト エクスプローラ ビューで[動的 Web プロジェクト]ノードの下にある Web プロジェクトを開き、[WebContent]>[WEB-INF] の順に移動します。
- faces-config.xml を右クリックして、[アプリケーションから開く]>[XML ソース ページ エディタ]の順にクリックします。
- このファイルで、次のコード行を <faces-config> タグと </faces-config> タグの間、およびすべての <managed-bean> タグの後に追加します。
<navigation-rule>
<from-view-id>/logon.jsp</from-view-id>
<navigation-case>
<from-outcome>logon_success</from-outcome>
<to-view-id>/contents.jsp</to-view-id>
<redirect/>
</navigation-case>
<navigation-case>
<from-outcome>logon_failure</from-outcome>
<to-view-id>/logon.jsp</to-view-id>
</navigation-case>
</navigation-rule>
- ファイルを保存して閉じます。
このナビゲーションルールは以下のことを意味します。
- ユーザーが Crystal Enterprise へのログオンに成功すると、アプリケーションの中心ページである contents.jsp をロードします。
- ユーザーがログオンに失敗した場合には、logon.jsp をリロードします。
<from-view-id> タグは、このナビゲーション ルールが logon.jsp に対してのみ有効であることを示します。
レポート表示に関するナビゲーション ルール
この機能を実装するには次の手順に従います。
- レポート グリッドに、1 つのレポートがクリックされたことを示す文字列を返すアクション メソッドを追加します。
- 返される文字列に基づき、
faces-config.xml
にナビゲーション ルールを定義します。
後でアクション メソッドを追加して、レポート グリッドを含む contents.jsp を完成します(グリッドからのレポートの表示を参照)。ここでは、文字列“view_report”を返すメソッドを例に説明します。
レポート表示のためのナビゲーション ルールを定義する
- プロジェクト エクスプローラ ビューで[動的 Web プロジェクト]ノードの下にある Web プロジェクトを開き、[WebContent]>[WEB-INF] の順に移動します。
- faces-config.xml を右クリックして、[アプリケーションから開く]>[XML ソース ページ エディタ]の順にクリックします。
- このファイルで、次のコード行を <faces-config> タグと </faces-config> タグの間に追加します。
<navigation-rule>
<from-view-id>/contents.jsp</from-view-id>
<navigation-case>
<from-outcome>view_report</from-outcome>
<to-view-id>/view.jsp</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
- ファイルを保存して閉じます。
このナビゲーションルールは以下のことを意味します。
- ユーザーが contents.jsp ページにある 1 つのレポートをクリックすると、そのレポートを表示する view.jsp ページがロードされます。
<from-view-id> タグは、このナビゲーション ルールが contents.jsp についてのみ有効であることを示します。