< 上一课 | 下一课 >

课程 2.2:将 EMPLOYEE 表绑定至 Web Service 数据源

“我的公司目录”应用程序显示目录中的所有当前职员记录。记录显示在具有可排序的列(包括姓、名、电子邮件和职员标识)的 JTable(employeesTable)中。要为该表获取记录,需要将 employeesTable 绑定至样本 Web Service 数据源返回的数据对象。

数据对象、数据源和绑定程序概述

为了获取本地数据对象以供 employeesTable 使用,将使用可视编辑器来将数据源添加至应用程序。该数据源会连接至样本 Web Service 代理,并且会发现可用于应用程序的服务方法。然后,将选择该数据源中可用的 getLightEmployeeRecord 服务方法。最后,将把应用程序中的 employeesTable 绑定至在行数据对象(lightEmployeeRecordRows)中返回的字段。

通过使用 Java 可视编辑器的内置绑定程序类,可以快捷地创建所有数据源和数据对象。可视编辑器提供了一组类属接口和类,它们是在将可视组件绑定至数据工厂时生成到项目中的。缺省情况下,绑定程序类生成到名为 jve.generated 的包中。可视编辑器将绑定程序类作为类属实现来提供,可以进一步定制并增强这些类以满足应用程序的需要。本教程演示了只对缺省绑定程序类进行基本和简单的操作时所表现出的强大功能和灵活性。

要点: 在开始此练习之前,强烈建议先阅读下列帮助主题。这些主题可以帮助您更多地了解 Java 可视编辑器提供的数据对象、数据源和绑定程序所具有的功能和逻辑:
  • 数据绑定程序概述
  • 绑定程序 API 参考

对于本教程,将在应用程序中使用 Web Service 数据源、几种类型的数据对象和几种类型的绑定程序。当将这些对象的实例添加至应用程序时,可视编辑器会将必需的类添加到项目的 jve.generated 包中,在这里您可以扩展、替换或重写数据绑定逻辑。通过在设计视图的自由格式区域中显示应用程序正在使用的数据对象、数据源和绑定程序,Java 可视编辑器可以提供对绑定对象的可视支持。可视编辑器会在可视组件、数据对象和数据源之间绘制一些线,以显示任何选择的对象的当前绑定。

使用提供的 WSDL 文件在项目中生成 Web Service Java 代理

为了使用在服务器上运行的 Web Service,Java 应用程序要求 Java 代理或客户机与它交互。通过使用 WSDL 文件,可以使用“Web Service 客户机”向导来将 Java 代理生成到 Java 项目中。MyDirectory 项目包括将用来生成此代理的 EmployeeDirectory.wsdl 文件。在生成 Java 代理之后,可以创建表示 Web Service 的数据源并开始对可视组件进行绑定。

要点: 本练习中使用的 WSDL 文件假定您已将 Web Service 部署在 WebSphere Application Server 的本地安装中并且使用了本地主机的缺省端口(http://localhost:9080)。如果以不同方式部署了 EAR 文件,则在继续之前必须相应地编辑该 WSDL 文件。

要在项目中生成 Web Service Java 代理:

  1. 在主菜单上,单击文件 > 新建 > 其他并选择 Web Service > Web Service 客户机向导。如果没有显示 Web Service 类别,则选择显示全部向导
  2. 在“Web Service 客户机”向导上的客户机代理类型字段中,选择 Java 代理,然后单击下一步
  3. 在“选择 Web Service”页面上,单击浏览以找到 WSDL 文件。
  4. 在“资源”浏览器中,展开 MyDirectory 项目并选择 EmployeeDirectory.wsdl。单击确定,然后在“Web Service 客户机”向导上单击下一步

    “Web Service 客户机”向导

  5. 在该向导的“客户机环境配置”页面上,单击编辑来修改客户机端配置,以确保将正确的运行时 JAR 文件或路径添加至 Java 项目。选择下列值,然后单击确定
    • 服务器:选择本地主机上的现有 WebSphere V6.0 服务器
    • Web Service 运行时:IBM WebSphere
    • J2EE 版本:1.4
  6. 在该向导的“客户机环境配置”页面上的客户机类型字段中,选择 Java。
  7. 客户机项目字段中,选择 MyDirectory。该 Java 项目是“Web Service 客户机”向导输出 Web Service 的 Java 代理的位置。

    “Web Service 客户机”向导

  8. 单击下一步
  9. 单击完成。“Web Service 客户机”向导会生成 Java 代理并将它添加至项目的新包(directory.service)。

将 employeesTable 绑定至 Web Service 返回的行数据对象

因为 employeesTable 是在此应用程序中要绑定的第一个可视组件,所以需要创建一个数据源以指向刚才添加至项目的样本 Web Service 代理。当在后面的练习中绑定其他可视组件时,您将重用此数据源。在此步骤中,将添加 Web Service 数据源和 lightEmployeeRecordRows 数据对象。

要绑定 EMPLOYEE 表:
  1. 在 Java Bean 视图或设计视图中,选择 employeesTable。(确保没有选择它的 JScrollPane 父代。)标记为绑定的小型选项卡显示在 employeesTable 的设计区域的顶部。

    图形画布 JTable 上的绑定选项卡

  2. 单击 employeesTable 上的绑定选项卡。或者,可以右键单击 employeesTable 并选择绑定属性
  3. 因为应用程序中没有数据对象,所以需要添加新的数据对象。单击新建数据源数据对象
  4. 源类型字段中,选择 Web service
  5. 因为尚未将 Web Service 数据源添加至应用程序,所以您现在需要添加它。在数据源字段的旁边,单击 ... 按钮以打开“添加 Web Service 数据源”对话框,该对话框会查找项目中可用的 Web Service 客户机或代理。
  6. 选择 EmployeeDirectory Web Service 并单击完成。新的数据源会添加至 DirectoryApp.java 文件。

    “添加 Web Service 数据源”对话框

  7. 在“新建数据源数据对象”对话框中,在源服务字段中选择 getLightEmployeeRecords() 并接受新数据对象的缺省名称:lightEmployeeRecordRows。此服务方法不需要参数。单击“确定”。会创建新的数据对象并且会在设计视图的自由格式区域上显示它。

    “新建数据源数据对象”对话框

    提示: 因为正在绑定表,所以“新建数据源数据对象”对话框只显示返回行数据对象的服务。在这种情况下,getLightEmployeeRecords() 方法是返回对象数组的唯一可用服务。
  8. 在“表数据绑定”对话框中,选择 lightEmployeeRecordRows 数据对象。
  9. 现在,需要选择想要显示在 employeesTable 上的 lightEmployeeRecordRows 数据对象的属性:

    “表数据绑定”对话框

    1. 单击双箭头 双箭头按钮 按钮以将所有对象属性添加至表列列表。
    2. 使用向上和向下箭头按照从上向下的顺序排列这些列:lastName、firstName、email 和 employeeID。
    3. 重命名列标题:电子邮件职员标识
      提示: 在绑定完表之后,可以总是返回至绑定属性,并且可以随时重命名这些列和对它们重新排序。
    4. 单击确定
现在,通过使用 JRowTableBinder 已将 employeesTable 绑定至 lightEmployeeRecordRows 数据对象。如果在自由格式区域上单击 lightEmployeeRecordRows 数据对象,则可视编辑器会绘制一条从该数据对象至表的线。在这条线上,JRowTableBinder 用表绑定程序 表绑定程序图标 图标表示。会有另一条线指示数据对象使用 webServiceDataSource 作为它的数据源。

JTable 的绑定程序线视图

课程检查点

注意对项目和应用程序所作的更改。在本课程期间,您已添加 Web Service 数据源、行数据对象和将 employeesTable 绑定至该行数据对象的绑定程序。

检查新包(jve.generated),它是在项目中创建的以存放 Java 可视编辑器生成的所有绑定程序类。还要注意新包(directory.service),它存放 Web Service 的 Java 代理。描述或总结本课程所学的内容。

MyDirectory 项目中的包

现在,当运行“我的公司目录”应用程序时,EMPLOYEE 表会由 Web Service 使用现有职员记录来填充。

< 上一课 | 下一课 >