< 上一课 | 下一课 >

课程 1.5:对提交按钮进行编程

提交输入表单之后,页面会自动将新记录添加至数据库。在本课程中,将对发布新列表提交按钮进行编程以返回到 all_records.jsp 页,以便可以立即查看数据库中的新记录。

要对提交按钮进行编程:

  1. 在 new_record.jsp 文件中,右键单击您在 Web 页面上的表单中创建的发布新列表按钮,然后选择属性
  2. 单击添加规则。将打开添加导航规则窗口。
  3. 从“页面”下拉菜单中,选择 all_records.jsp,然后单击确定
  4. 保存该页面。如果您想尝试将一条记录添加至数据库以验证是否将返回到 all_records.jsp 页面,那么在测试服务器上运行 new_record.jsp。
防止重复键
要点:

由于 ID 列是 ADS 表中的主键,因此,不能添加具有表中已存在的 ID 值的记录。在“模块 2”中,您将了解如何使用自动键生成来为每个新记录自动创建未使用过的新键。

在此之前,您必须在此页面中输入未使用过的 ID 号来添加新记录。这些由数据库本身提供的记录使用 1 至 24 之间的某个 ID 号,因此,您可以输入大于 24 的任何数字来作为主键。如果输入了多个记录,那么应确保键不重复。

将输入绑定至关系记录(可选)

页面上的输入表单实际上是一组已绑定至所创建的关系记录的 JavaServer Faces 输入字段。回想一下,您已创建了关系记录来表示数据库的 ADS 表中的新记录。绑定是一种可用来将 JavaServer Faces 输入组件链接至关系记录中的列的方法。

创建关系记录时,向导自动将该记录的所有列都绑定至页面上的输入字段。如果想要手动进行更改,那么可以将其他列绑定至其他输入字段。为了将关系记录中的列绑定至输入字段,可将该列从“页数据”视图拖动到该字段上。可以通过先删除然后再重新创建表单上的“描述”输入字段来实践此过程。

“页数据”视图通常位于工作台左下角中。如果找不到它,那么转至菜单栏并单击窗口 > 显示视图 > 页数据。通常,仅当创建动态 Web 页面时才会使用“页数据”视图。

“页数据”视图以数据对象(如关系记录或关系记录列表)形式存储与数据源(如数据库)的连接。这些数据对象不表示数据源本身或页面上的任何组件。这些数据对象表示的是项目与数据源之间的连接。一旦创建了此连接,就可以将数据对象从“页数据”视图拖动到 Web 页面上以完成连接并在 Web 页面上显示数据源中的信息。例如,下图是一个“页数据”视图,它显示了在本教程中创建的关系记录列表:

“页数据”视图。

在此图中,可以看到 all_recordlist(ADS) 关系记录列表,下面是此关系记录列表中的所有列。此数据对象已定义并位于“页数据”视图时,您不必重新连接至数据库就可以根据需要将这些列拖动到 Web 页面上的输入组件。

例如,如果想要在 Web 页面上显示 DESCRIPTION 列的值,首先应将一个文本输出字段拖到该页面上,然后将 DESCRIPTION 列从“页数据”视图拖到该文本输出字段上。此过程称为将列绑定至输出字段。

或者,如果您想要允许用户为数据库中的 DESCRIPTION 列输入新值,应将一个文本输入字段拖到该页面上。然后,将 DESCRIPTION 列拖到该文本输入字段上。

提供了下列步骤来说明输入字段的概念和绑定过程。但是,在本教程中,是否需要完成这些步骤是可选的。如果不想完成这些步骤,那么转至下一课程。

  1. 在 new_record.jsp 文件中单击描述输入字段。按 Delete 键。
  2. 在“选用板”视图中,单击增强型 Faces 组件抽屉以展开该抽屉。
  3. 输入组件从“选用板”拖动到包含刚删除的描述输入字段的单元格。 此单元格中现在有一个输入字段,但该单元格中没有诸如 {ID} 或 {TITLE} 之类的文本,因为此输入字段未绑定至任何列。
  4. 在“页数据”视图中,单击以展开 SDO 关系记录 > create_record(服务数据对象) > create_record(ADS),并将 DESCRIPTION 列拖动到刚创建的输入组件上。输入组件中的文本发生了变化,指示它现在被绑定至 DESCRIPTION 列,如下图所示:
    “页数据”视图。
  5. 保存该文件,愿意的话,在测试服务器上运行该页面。

课程要点

您已经完成了课程 1.5。在本课程中,学习了如何对命令按钮进行编程以及通过将 JSF 窗口小部件从选用板拖放到 Web 页面上来将数据绑定至输入字段。
< 上一课 | 下一课 >

反馈