< 上一课 | 下一课 >

课程 2.3:使用导航规则

在此课程中,将学习如何设置导航规则以将站点用户重定向至特定 Web 页面。

鉴于设置 new_record.jsp 页的方式,用户一定要非常细心,不要输入已在使用中的 ID 号,这是因为数据库中的每条记录必须具有唯一的 ID 号。在课程 1.5:对提交按钮进行编程中的“防止重复键”注释中对此进行了更详细的说明。在此课程中,将检查输入的 ID 是否是唯一的,如果不是,那么对用户显示错误页,该错误页将描述问题并告诉用户如何解决问题。

导航规则使您在检查用户是否输入了重复的 ID 号之后,能够对用户显示错误页或 all_records.jsp 页。您将为这两种可能的结果指定“别名”,然后将这两个别名链接至正确的目标页面。在本例中,create_record.jsp 页上的错误将指定 ERROR_CREATE 别名,该别名将把用户引导至错误页。如果用户正确填写了 create_record.jsp 页,该页将指定 MAIN 别名,通常该别名将链接至 all_records.jsp 页。

设置规则

  1. 在“项目导航器”中双击 new_record.jsp 页。
  2. 单击页面上的发布新列表按钮。
  3. 在“属性”视图中,单击添加规则。将打开“添加导航规则”窗口。 如果在创建新记录并将它落实到数据库时发生某些错误,那么第一条规则将对用户显示名为 create_error.jsp 的错误页。
  4. 页面字段中,输入 error_create.jsp。此页面不存在,但是就本教程而言,您可假定它是存在的。
  5. 单击命名结果单选按钮。
  6. 命名结果单选按钮后面的文本字段中输入 ERROR_CREATE
  7. 单击仅限于此页单选按钮,因为此站点中不存在用户可通过输入重复的 ID 号来触发此特定错误的其他页。单击确定 如果用户输入了有效的 ID 号,那么下一条规则将浏览到 all_records.jsp。
  8. 单击添加规则按钮以再次打开“添加导航规则”窗口。
  9. 使用下拉框来选择 all_records.jsp
  10. 单击命名结果复选框然后将 MAIN 输入到复选框后面的文本字段中。
  11. 由于您可能要在另一页(例如,update_record.jsp 页)中复用此规则,所以单击此规则适用范围下面的所有页单选按钮。单击确定。 现在,这两个规则显示在“属性”视图上。

从按钮操作返回别名

现在余下的所有工作就是让新的导航规则生效。将为“发布新列表”按钮在代码中添加两个 return 语句。这些 return 语句将向适当的别名发出指示,以将用户引导至在导航规则中设置的适当页。
  1. 单击发布新列表按钮。
  2. 打开快速编辑视图。
  3. 在“快速编辑”视图中,查找内容如下的行:} catch (Throwable e) {。 如果用户输入了重复的 ID 号,此 catch 函数就将运行。
  4. 除去此行末尾的左花括号 { 与数行后的下一个与之匹配的右花括号 } 之间的所有代码。不要除去任何一个花括号。
  5. 在花括号之间代码的位置处输入以下文本:return "ERROR_CREATE";
  6. 接着,除去最后一个右花括号 } 下面的所有代码,并在此处输入以下文本:return "MAIN";

    此步骤会除去在练习 1.4 中添加的 gotoPage 操作。由于导航规则执行了同样的操作,所以不再需要此代码。

    按钮的代码现在应该类似于下图:

    “快速编辑”视图。

  7. 保存该页面,如果还想测试它,那么可以进行测试。
(可选)可创建名为 create_error.jsp 的一个简单错误页,该错误页向用户说明创建他们的列表时发生了错误,他们应尝试使用另一个 ID 值。然后,您可以通过尝试添加使用现有 ID 值(例如,1)的新列表来测试这些导航规则。

课程要点

您已经完成了课程 2.3。在本课程中,学习了如何使用导航规则来实现在用户试图输入无效 ID 值就会产生错误,而在用户输入有效 ID 时就对该用户显示 all_recordlist.jsp 页。

< 上一课 | 下一课 >