内容


使用 Rational Application Developer 8.0.4 创建多渠道复合 portlet 应用程序,第 2 部分

开发示例 portlet 项目

Comments

系列内容:

此内容是该系列 # 部分中的第 # 部分: 使用 Rational Application Developer 8.0.4 创建多渠道复合 portlet 应用程序,第 2 部分

敬请期待该系列的后续内容。

此内容是该系列的一部分:使用 Rational Application Developer 8.0.4 创建多渠道复合 portlet 应用程序,第 2 部分

敬请期待该系列的后续内容。

下载 IBM® Rational® Application Developer 试用版  |  在线试用 IBM® Rational® Application Developer
下载 IBM® WebSphere® Application Server 试用版  |  IBM® WebSphere® Application Server for Developers
下载 IBM® DB2® for Linux, UNIX, and Windows 试用版  |   IBM® DB2® Express-C(免费产品)
下载更多的 IBM 软件试用版,并加入 IBM 软件下载与技术交流群组,参与在线交流。

创建项目

本教程的这一部分首先会按照以下步骤创建一个多渠道 portlet 项目:

  1. 从 IBM® Rational® Application Developer V8.0.4 或更高版本的 File 菜单中选择 New > Project > Portlet Project
  2. 为该项目命名。在本演示中,使用的是 DealsProject
  3. 对于 Target Runtime,请从下拉菜单中选择 WebSphere Portal 7.0
  4. 将 portlet 项目名称更改为 Deals
  5. 在 Configuration 中,单击 Modify,然后从下拉菜单中选择 JSR286 Faces(参见图 1)。
  6. 单击 OK
图 1. New Portlet Project 向导
Wizard 与 Configuration 窗口
Wizard 与 Configuration 窗口
  1. 在 Devices Supported 中,单击 Modify,并选中以下选项,添加对智能手机的支持:BlackBerryiPhoneAndroid(参见图 2)。
  2. 单击 OK
图 2. Devices Supported 窗口
弹出窗口旁边的 New Portlet Project 视图
弹出窗口旁边的 New Portlet Project 视图

提示:
您也可以单击 Modify Portlet Project Device Support 窗口中的 Add 按钮,然后指定用户代理,从而添加自己的设备。例如,您可以为 Nokia 设备添加一个 Symbian 用户代理。

  1. 单击 New Portlet Project 向导中的 Finish 按钮。

请注意,现在已创建了与单个 portlet(如 Deals)对应的两个 portlet JavaServer Page (JSP),参见图 3。

图 3. JSP 文件
自动生成的 JSP 文件。

当 portlet 的请求来自某个桌面浏览器时,该 portlet 应用程序会提供 DealsView.jsp。当 portlet 的请求来自某个选定的便携设备时(比如图 2),该 portlet 应用程序会提供 DealsView_Devices.jsp。这为开发、设计以及根据目标设备选择 portlet UI 的内容提供了灵活性。例如,您可以将一个 UI 添加到已针对智能手机查看而进行优化的 Deals-View_Devices.jsp。在本文后面的章节中,您会看到如何为两个 JSP 设计和选择不同的数据。

集成 DB2 数据

现在,您已创建了一个多渠道 portlet 应用程序,您还可以设计独立的 JSP。首先,您要创建一个服务数据对象(Service Data Object,SDO),SDO 使用的数据来自 IBM® DB2® 数据库中的表。

创建一个 SDO

按照以下步骤创建 SDO:

  1. 打开 DealsView.jsp 文件。
  2. 打开 Page Data 视图。
  3. 右键单击 SDO Relational Records 节点,并选择 New > SDO Relational Record List,如图 4 所示。这将调用 Add Relational Record List 窗口,如图 5 所示。
图 4. 创建一个 SDO Relational Record List
显示所描述的选择和一个下拉菜单
显示所描述的选择和一个下拉菜单
  1. 输入 dealsInformationList 作为 Relational Record List 的名称。
图 5. Add Relational Record List 窗口
SDO Relational Record List 对话框
SDO Relational Record List 对话框
  1. 单击 Next 转到 Add Relational Record List 页面。
  2. 单击 New 按钮,如图 6 中圈出的按钮。
图 6. 创建一个数据库 DB 连接
用于打开下拉菜单的 New 按钮,在 Name 旁边
用于打开下拉菜单的 New 按钮,在 Name 旁边

单击 New 打开 Select a Connection 对话窗口,如图 7 所示。

图 7. 选择一个数据库连接
DB 连接选择
DB 连接选择

在该对话窗口中,您可以选择您想在其中创建 SDO 列表的数据库。在本例中,您使用 DB2 V9.5 中包含的 SAMPLE 数据库(参阅第 1 部分的“设置”小节)。

  1. 选中 SAMPLE 项,并单击 Finish(您可能必须提供您的用户名和密码进行身份验证)。

单击 Finish 返回 Add Relational Record List 页面,您可以在该页面中看到 SAMPLE 数据库内的多个架构。接下来,您将选择包含目标表的架构。

  1. 展开 ADMINISTRATOR 架构,并选择 DEALS 表。
图 8. 选择 DB2 表
Record List Properties 视图
Record List Properties 视图
  1. 单击 Next,您将看到 DEALS 表的所有列,如图 9 所示。
图 9. 列选择窗口 window
选择列
选择列
  1. 在 "Advanced tasks" 下面,单击 Add another database table through a relationship 的链接,在图 9 中已突出显示该链接。

注:
该记录列表可以使用单个查询从多个表中提取数据。这类似于 Join 操作。

单击 "Add another database table…" 链接,这将打开 Create Relationship 对话窗口,如图 10 所示。

图 10. Create Relationship 窗口: Choose Your Relationship 视图
创建一个数据库连接
创建一个数据库连接
  1. 选择 ACCOUNT_DETAILS 表,并单击 Next 以打开 Edit Your Relationship 页面,如图 11 所示。
  2. 从 Multiplicity 下拉菜单中选择 *-> FOREIGN KEY -> PRIMARY KEY 选项。
  3. 在 "Key column mappings" 组下面,单击标签为 DEALS primary key columns 的列,并选择 ACCOUNT_ID
图 11. Create Relationship 页面
Edit Your Relationship 视图
Edit Your Relationship 视图
  1. 然后单击 Finish
  2. 同样,将 DEALS 表映射到 CONTACT_PERSON 表。在本例中,在 "DEALS primary key columns" 下面,选择 CONTACT_ID,如图 12 所示。
    1. 在 Add Relational Record List 对话窗口中,选中下面提及的字段(如图 13 中所示)。
    2. 展开 DEALS 节点并选中 PrimaryKey: CC1294637933390 选项。
    3. 在 DEALS 节点下面,展开 Relation: ACCOUNT_DETAILS_DEALS 节点。进一步展开 ACCOUNT_DETAILS 节点,并选中以下列:

      PrimaryKey: CC1294638386593
      ACCOUNT_ID
      NAME
    4. 在 DEALS 节点下面,展开 Relation: CONTACT_PERSON_DEALS 节点,然后进一步展开 CONTACT_PERSON 节点并选中以下列:

      PrimaryKey : CC1294638513093
      CONTACT_ID
      NAME
    5. 在 DEALS 节点下面,选中以下列:

      DEAL_ID
      ACCOUNT_ID
      CONTACT_ID
      STATUS
      LAST_CONTACT_DATE
      LAST_CONTACT_MODE
      NEXT_CONTACT_DATE
      NEXT_CONTACT_MODE
      NEXT_STEP
图 12. 映射表列
选中的 CONTACT_ID: Long
选中的 CONTACT_ID: Long
图 13. 选择表列
在 Relation: CONTACT_PERSON_DEALS 下选中的复选框
在 Relation: CONTACT_PERSON_DEALS 下选中的复选框
  1. 单击 Finish

现在,如果您在 Page Data 视图中展开 SDO Relational Records 节点,您应该看到新创建的 SDO Relational Record List,如图 14 所示。

图 14. 在 Page Data 视图中的 SDO Relational Record List
Page Data 选项卡打开
Page Data 选项卡打开

现在,您已创建了 SDO Relational Record List,下一步是使用来自记录列表的数据。我们现在将设计桌面和智能手机的 portlet JSP

设计桌面 portlet JSP

按照以下步骤设计桌面 JSP:

  1. 在 Page Designer 中打开 DealsView.jsp 文件。
  2. 打开 Page Data 选项卡。
  3. 在 SDO Relational Records 文件夹中,在 dealsInformationList (Service Data Object) 下面选择 dealsInformationList (DEALS) 节点,如图 15 所示。
图 15. 播放 SDO 记录列表
在 SDO Relational Records 类别中选中的节点
在 SDO Relational Records 类别中选中的节点
  1. 将它拖放到 DealsView.jsp 文件上。

这将打开 Insert Record List 对话窗口,您可以在该窗口中选择要在 DealsView.jsp 文件中显示哪些列。

  1. 单击在最右边的按钮(有两个点的按钮) 显示 DEALS_ACCOUNTS_DETAILS 字段的配置图标,图 16 中已用红色突出显示该图标。
图 16. 配置字段
Configure Data Controls 窗口
Configure Data Controls 窗口

这将打开图 17 中的 Insert Records 对话窗口。

  1. 在图 17 中显示的 Insert Records 对话窗口,在 Configure Data Controls 视图中,只选中 Name (java.lang.String) 字段的复选框。
  2. 此外,您可以输入 Account Name 来更改该字段的标签名称。
图 17. Insert Record 对话窗口
选择要显示的列
选择要显示的列
  1. 单击 Finish
  2. 这会将您带回 Insert Record List 对话窗口。单击最右边的按钮(有两个点的按钮)显示 DEALS_CONTACT_PERSON 字段的配置图标,图 18 中已突出显示该图标。
图 18. 配置字段
图标 = Control Type 列顶部的第二个方形
图标 = Control Type 列顶部的第二个方形
  1. 同样,在 Configure Data Controls 视图中只选中 Name 字段的复选框,如图 19 所示。
  2. 此外,将该字段的标签更改为 Contact Name
图 19. Insert Records 对话窗口
选择要显示的列
选择要显示的列
  1. 单击 Finish

这会再次将我们带回 Insert Record List 对话窗口。

  1. 确保已在 Insert Record List 对话窗口中选中以下字段,如图 20 所示:
    DEALS_ACCOUNTS_DETAILS
    DEALS_CONTACT_PERSON
    STATUS
    LAST_CONTACT_DATE
    LAST_CONTACT_MODE
    NEXT_CONTACT_DATE
    NEXT_CONTACT_MODE
    NEXT_STEP
图 20. 选中的列
要在 JSP 中显示的列
要在 JSP 中显示的列
  1. 单击 Finish。这会在 DealsView.jsp 文件中自动生成代码,为选中字段的列表显示一个数据表,如图 21 所示。
  2. 按下 CTRL+S 保存修改。
图 21. 在 portlet JSP 文件中自动生成的代码
在文件底部窗格中生成的 JSP 代码
在文件底部窗格中生成的 JSP 代码

为智能手机设计 portlet JSP

  1. 按照标题为 为桌面设计 portlet JSP 的小节中的步骤 1-11 进行操作。
  2. 因为智能手机的屏幕比桌面浏览器的屏幕小得多,所以请选择少数字段,如图 22 所示。
图 22. 选择 JSP 列
Column Name、Label 和 Control Type 列
Column Name、Label 和 Control Type 列
  1. 单击 Finish。这将在 DealsView_Devices.jsp 文件中自动生成代码,显示选中字段的列表,如图 23 所示。
  2. 单击 CTRL+S 保存修改。
图 23. 在设备 portlet JSP 中自动生成的代码
生成的 JSP 代码在屏幕截图的底部
生成的 JSP 代码在屏幕截图的底部

发布项目

现在,您将分别发布和测试 portlet 项目的桌面和移动版本,从桌面版本开始。

发布到 WebSphere Portal 7.0 服务器

注:
为了查看在服务器中运行的移动版本,您需要配置在第 1 部分的“设置”小节中所描述的移动主题。(参阅以下链接:“查看本系列的更多内容”)。

按照以下步骤将 portlet 项目发布到服务器上:

  1. 右键单击 DealsProject 项目,并选择 Run As > Run on Server
  2. 选择 Manually define a new server,然后从列表中选中 WebSphere Portal v7.0 server,如图 24 所示。
图 24. 服务器定义
Run on Server 对话窗口
Run on Server 对话窗口
  1. 单击 Next
  2. 选中 Manually provide connection settings 复选框,并提供安装了 WebSphere Portal Server 的 WebSphere Application Server 的用户 ID 和密码。
  3. 单击 Next。再次提供 WebSphere Portal Server 的用户 ID 和密码。
  4. 单击 Next,然后单击 Finish

在 Servers 视图中,将创建 WebSphere Portal v7.0 服务器的新实例,并且 portlet 项目会发布到该实例。该应用程序会在一个浏览器中打开,如图 25 所示,以显示桌面版本的 portlet JSP,如 DealsView.jsp。

图 25. 在桌面浏览器中显示的 portlet
有 8 列信息的 Deals 视图
有 8 列信息的 Deals 视图

发布到 Mobile Browser Simulator

有关移动主题的设置说明,请参阅第 1 部分的“设置”小节。

按照以下步骤查看移动版本的 portlet 应用程序:

  1. 右键单击 DealsProject 项目,并选择 Run > Run on Mobile Browser Simulator
  2. 编辑页面布局,将 Deals portlet 放在新创建的门户页面上。选择该选项会在浏览器中启动 MBS。

图 26 显示了如何在 MBS 中显示页面。请注意,您如何能在 MBS 中同时测试在不同设备类型运行的同一个 portlet。

图 26. 在 MBS 中显示的 portlet
Apple iPhone、RIM Blackberry 和 Samsung Google 视图
Apple iPhone、RIM Blackberry 和 Samsung Google 视图

本系列的后续文章

由五个部分组成的系列文章的第 3 部分将指导您完成 Microsoft SharePoint 集成。如欲在本系列的后续部分发布时得到通知,请关注 Rational Community 博客


下载资源


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Rational
ArticleID=816950
ArticleTitle=使用 Rational Application Developer 8.0.4 创建多渠道复合 portlet 应用程序,第 2 部分: 开发示例 portlet 项目
publish-date=05212012