定义导航规则
设置项目的下一步是定义应用程序中 Web 页的导航流程。对于此示例应用程序,为两种情况定义导航规则:
- 当用户尝试登录到 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 有效。