定義導覽規則
設定專案的下一個步驟就是要定義應用程式內的網頁導覽流程。對於這個範例應用程式,您要定義以下兩種情況的導覽規則:
- 當使用者嘗試登入 Crystal Enterprise 時。
- 當使用者在 contents.jsp 中按一下想要檢視的報表時。
登入的導覽規則
實作這個功能:
- 將動作方法加至登入表單,以便傳回表示登入成功或失敗的字串。
- 根據傳回的字串,在
faces-config.xml
中定義導覽規則。
您稍後會將動作方法加至含有登入表單的完整 logon.jsp (請參閱加入動作方法)。目前暫且假設:嘗試登入成功時,方法會傳回「logon_success」字串;嘗試登入失敗時,則傳回「logon_failure」。現在,您必須定義導覽規則。
定義登入 Crystal Enterprise 的導覽規則
- 在 [Project Explorer] 檢視中,展開 [Dynamic Web Projects] 節點之下的 Web 專案,然後導覽至 [WebContent] > [WEB-INF]。
- 以滑鼠右鍵按一下 [faces-config.xml],再按一下 [Open With] > [XML Source Page Editor]。
- 在檔案中,於 <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 有效。
檢視報表的導覽規則
實作這個功能:
- 將動作方法加至報表格線,以便傳回表示已按一下單一報表的字串。
- 根據傳回的字串,在
faces-config.xml
中定義導覽規則。
您稍後會將動作方法加至含有報表格線的完整 contents.jsp (請參閱從格線中檢視報表)。目前暫且假設:方法會傳回「view_report」字串。
定義檢視報表的導覽規則
- 在 [Project Explorer] 檢視中,展開 [Dynamic Web Projects] 節點之下的 Web 專案,然後導覽至 [WebContent] > [WEB-INF]。
- 以滑鼠右鍵按一下 [faces-config.xml],再按一下 [Open With] > [XML Source Page Editor]。
- 在檔案中,於 <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 頁面中的個別報表時,會載入建構報表的 view.jsp 頁面。
<from-view-id> 標示指出這個導覽規則僅對 contents.jsp 有效。