练习 1.4:创建新的记录

在开始之前,必须完成练习 1.3:测试 Web 站点

在本练习中,您将创建一个页面,该页面让用户能够创建新的分类信息广告并将它们发布至数据库。首先,将需要创建关系记录来表示数据库中的新记录,然后将在页面上以一组输入字段的形式来创建该记录的可视化形式。

创建关系记录

演示
  1. 在“项目资源管理器”视图中双击 new_record.jsp 文件来打开它。
  2. 删除缺省文本将内容放在此处
  3. 在“选用板”视图中,单击数据抽屉以展开该抽屉。
  4. 关系记录组件从“选用板”拖动到空白内容区域上。将打开“添加关系记录”窗口。

    如果出现警告消息并且声明无法与数据库建立连接,则原因是在测试 Web 站点之后您让服务器仍然运行。如果发生这种情况,单击每个对话框中的取消并如练习 1.3:测试 Web 站点中的停止服务器所述停止服务器。

  5. 名称字段中,输入 create_record
  6. 为以下项创建控件下面,单击创建新的记录
  7. 确保选择了添加输入/输出控件以在 Web 页面上显示记录

    “添加关系记录”窗口看起来应该为如下图所示:

    添加关系记录窗口

  8. 单击下一步
  9. 在“表”框中,单击 W5SAMPLE.ADS 表。
  10. 单击下一步
  11. 再次单击下一步。将打开“配置数据控件”页面。

定制关系记录可视化

演示

“配置数据控件”页面帮助您定制关系记录的可视化形式。例如,可以更改输入表单上的列、字段标签和“提交”按钮。在完成这些步骤之后,一个功能齐全的输入表单将出现在页面上。

  1. 要显示的字段部分,清除每个字段名旁边的复选框(您想要显示在输入表单中的那些字段名除外):
  2. 将这些字段按以下顺序自顶向下重新排序:
    1. ID
    2. TITLE
    3. DESCRIPTION
    4. MAINCATEGORY
    5. PRICE
    6. PHONE
    要更改字段的顺序,可单击字段名然后单击向上 向下 箭头。
  3. 将标签重命名为您喜欢的名字。例如,将“Maincategory:”标签缩写为“Category:”。

    要对为各个输入字段生成的标签重命名,从标签列中单击标签。鼠标图标将变成光标,以便您可以输入新文本。

  4. 单击选项。将打开选项窗口。
  5. 确保选择了提交按钮选项。
  6. 标签字段中输入发布新列表
  7. 单击确定

    “添加关系记录”窗口现在看起来应该为如下图所示:

    “添加关系记录列表”窗口

  8. 单击完成以生成输入表单。它看起来应该类似于下图:

    当前页面外观

    该表单具有一个“错误消息”字段。这并不表示项目有错误;当用户提交表单时,如果有错误,则此字段会标记该错误位置。

对“提交”按钮编程

演示

提交输入表单之后,页面会自动将新记录添加至数据库。可以对“发布新列表”按钮进行编程以返回到 all_records.jsp 页,以便可以立即查看数据库中的新记录。要完成此任务,执行下列步骤:

  1. 在 new_record.jsp 文件中,单击您在 Web 页面上的表单中创建的发布新列表按钮。
  2. 打开“快速编辑”视图。

    “快速编辑”视图通常位于工作台底部的中央,在“属性”视图旁边的选项卡中。如果找不到“快速编辑”视图,则转至菜单栏并单击窗口 > 显示视图 > 快速编辑

    “快速编辑”视图是一个上下文相关的 Java 编辑器,它可以帮助您编写 Faces 组件的事件的代码。“快速编辑”视图现在包含了生成的代码,这些代码处理在数据库中创建新记录的有关事项,如下图所示:

    代码示例

  3. 在“快速编辑”视图中,进行单击以将光标就放在代码 return ""; 前面。
  4. Enter 键。将在 return ""; 前面出现新的一行。
  5. 右键单击新的空白行,然后从上下文菜单中选择插入代码段 > 转至页面。将打开“编辑转至页面操作”窗口。
  6. 从下拉列表中选择 all_records.jsp 作为目标页面。
  7. 单击确定
  8. 按钮的事件代码应该如下图所示:

    代码示例

  9. 保存该文件,然后在测试服务器上运行该页面(如果您愿意)。在测试服务器上运行页面的过程中,可添加新记录并返回到 all_records.jsp 页以查看这些记录。

防止重复键

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

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

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

演示

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

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

提供了下列步骤来说明输入字段的概念和绑定过程;但是,在本教程中,是否完成这些步骤是可选的。如果不想这么做,则转至练习 1.5:创建更新页面

  1. 在 new_record.jsp 文件中单击描述输入字段。
  2. Delete 键。
  3. 在“选用板”视图中,单击 Faces 组件抽屉以展开该抽屉。
  4. 输入组件从“选用板”拖动到包含刚删除的描述输入字段的单元格。

    此单元格中现在有一个输入字段,但该单元格中没有诸如 {ID} 或 {TITLE} 之类的文本,因为此输入字段未绑定至任何列。

  5. 在“页数据”视图中,将 DESCRIPTION 列拖动到刚创建的输入组件上。输入组件中的文本发生了变化,指示它现在被绑定至 DESCRIPTION 列,如下图所示:

    将列绑定至输入字段

  6. 保存该文件,然后在测试服务器上运行该页面(如果您愿意)。

现在,您可以创建和修改自己的 JavaServer Faces 输入表单。您可以开始进行练习 1.5:创建更新页面了。

使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.