练习 2.4:使用导航规则

在开始之前,必须完成练习 2.3:使用文件上载组件

鉴于设置 new_record.jsp 页的方式,用户一定要非常细心,不要输入已在使用中的 ID 号,这是因为数据库中的每条记录必须具有唯一的 ID 号。这在练习 1.4:创建新的记录中作了较详细的说明。简而言之,您应防止用户犯这种错误。

在下一个练习(即,练习 2.5:使用自动键生成)中,将使用自动键生成来完全避免输入 ID 号。在此练习中,您将检查输入的 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 号来触发此特定错误的其它页。
  8. 单击确定

    如果用户输入了有效的 ID 号,那么下一条规则将浏览到 all_records.jsp。

  9. 单击添加规则按钮以再次打开“添加导航规则”窗口。
  10. 使用下拉框来选择 all_records.jsp
  11. 单击命名结果复选框然后将 MAIN 输入到复选框后面的文本字段中。
  12. 由于您可能要在另一页(例如,update_record.jsp 页)中重用此规则,所以单击此规则适用范围下面的所有页单选按钮。
  13. 单击确定。 现在,这两个规则显示在“属性”视图上。

从按钮操作返回别名

演示

现在剩下来的所有工作就是让新的导航规则生效。将为“发布新列表”按钮在代码中添加两个 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.5:使用自动键生成了。

反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.