内容


在 Rational Application Developer 中为第三方 JavaServer Faces 控件定制数据绑定

Comments

引言

IBM® Rational® Application Developer 7.5.5 版本对标准的 Java™ Server Faces (JSF)标签库拥有扩展性的内构支持。另外,Rational Application Developer 还支持第三方的标签库。通过使用 Faces Library Definition,您可以定制根据自己的需要,来定制 Rational Application Developer 与其他控件之间的交流。Faces Library Definitions 包含了指定特定控件与数据绑定的方式。本文演示了配置各种类型控件的那些特性与策略。另外,您将会看到 Rational Application Developer 的数据模板是怎样与 Faces Library Definitions 及第三方控件一起使用的。

设计网络页面,将构件与数据联系起来主要有两种方式。您可以先将构件放到页面,再将它们与数据绑定起来,或者您可以创建数据模板,这些数据模板会基于您所选择的数据来为您自动创建构件。本文讨论了这两种方式,您将会看到它们是多么的容易,就算与第三方标签库一起使用也是这样。

开始时您要基于 MyFaces Tomahawk 标签库来创建一个网络项目和一个 Faces Library Definition。接下来,您要编辑 Faces Library Definition,并给 Rational Application Developer 关于这些构件更多的信息。然后您要基于一些范例数据来创建数据模板,并生成与数据相绑定的 Tomahawk 控件。最后,您要向网络页面添加私人的 Tomahawk 控件,然后将它们与我们的范例数据相绑定。

在本文的学习过程中,您要创建:

  • 一个基于 Tomahawk 的 Faces Library Definition
  • 一个包含有两个页面的网络项目:
    • 一个包含有自数据模板中生成的控件
    • 一个放置有控件然后绑定至数据的页面

两个网络页面都会显示关于 MyCompany 虚构雇员的基本信息:她的名字以及她在公司中的职位。

前提条件

这些以前的 developerWorks 文章提供了背景信息。您应该在阅读本文之前读一下这两篇文章。

  1. 第三方 JavaServer Faces 控件的 Faces 库定义
  2. JavaServer Faces 数据模板简介

创建

创建一个网络页面

开始时要创建一个网络项目。这是一个简单的项目,该项目允许您去测试并配置 Rational Application Developer 与 Tomahawk 控件之间的交流。

  1. 从菜单之中选择 File > New > Dynamic Web Project

New Dynamic Web Project 向导会显示出来了。选择以下的选项,如图 1 所示。

  1. 将项目命名为 MyWebProject
  2. 指定一个服务器作为目标。
  3. Configuration 组合框中,选择 JavaServer Faces v1.2 Project
  4. 点击 Finish
图 1. New Dynamic Web Project 向导
完成的 New Dynamic Web Project 向导
完成的 New Dynamic Web Project 向导

现在,创建两个网络页面。

  1. 在 Enterprise Explorer 中右击 MyWebProject,并选择 New > Web Page
  2. 在 New Web Page 向导中,将页面命名为 createControls,如图 2 所示。
  3. 点击 Finish
图 2. New Web Page 向导
 左边是 Template,右边是 Preview
左边是 Template,右边是 Preview

一个名为 createControls 的 Faces JSP(Java 服务器页面)将会创建并显示出来。

创建第二个网络页面。

  1. 右击 Enterprise Explorer 中的 MyWebProject 并选择 New > Web Page
  2. 在 New Web Page 向导中,将页面命名为 existingControls
  3. 点击 Finish

第二个名为 existingControls 的 Faces JSP 将会创建并打开。

现在,将一些范例数据导入到项目之中。该数据将会描述测试员工,并给出关于她的基本信息。

  1. 下载 本文附属的 Employee.zip 文件。
  2. 在 Enterprise Explorer 中,展开 MyWebProject > Java Resources
  3. 右击 src 并选择 Import
  4. 在 Import 向导之中,展开 General 并选择 Archive File
  5. 点击 Next
  6. 切换至 电脑上的 .zip 文件。
  7. 点击 Finish

带有三个 JavaBean 类的新包将会导入到项目之中。它包含了一个简单的雇员记录。

既然范例 bean 已经导入到项目之中,使网络页面也可以使用到它。

  1. 切换至 createControls.jsp。如果该页面尚未打开,您可以展开 MyWebProject > WebContent 并双击 createControls.jsp。
  2. 在 Page Data 视图之中,右击 Faces Managed Beans 并选择 New > Faces Managed Bean
  3. 在 Add JavaBean 向导中,输入 emp 作为 Name,输入 com.MyCompany.TestEmployee 作为 Class,如图 3 所示。
  4. 点击 Finish
  5. 选择 File > Save保存 页面。
图 3. 添加一个新的 Faces Managed Bean
顶部是 Options,底部是 Initialize Properties 按钮
顶部是 Options,底部是 Initialize Properties 按钮

创建一个库定义

现在,创建一个 Faces Library Definition。按照 前提条件 部分中所提到的第一篇文章中所描述的那样,Faces Library Definitions 允许您去定制 Rational Application Developer 与第三方 JSF 标签库之间的交流。

本文使用 Tomahawk 标签库作为范例的第三方 JSF 标签库,这样您就需要获得一个 Tomahawk 构件 Java™ 档案(JAR)文件的拷贝。您可以从 Apache MyFaces 网站 上下载文件。

  1. 下载 Tomahawk JAR 文件。
  2. 切换至 File > New > Other
  3. 展开 Web 并选择 Faces Library Definition
  4. 点击 Next
  5. 将库命名为 Tomahawk,如图 4 所示。
  6. Select a JAR file 部分中,点击 Browse 按钮,然后切换至 JAR 文件的拷贝处。
  7. 点击 Finish

Faces Library Definition 将会打开。该文件使用的扩展名是 .jld,这就告诉了 Rational Application Developer 怎样去打开 Tomahawk 控件。

图 4. New Faces Library Definition 窗口
左边是 Overview,右边是 Details
左边是 Overview,右边是 Details

配置可视性

现在您就可以为您的 Tomahawk 控件去配置可视化了。可视性会影响控件赋值的方式。您要定制它,以让您将会使用到的一些控件使用起来更加方便。您还要更新控件的配置板图标以及标签,以让它们可以更快地识别和定位。

配置输出文本

  1. 展开 Faces Library Definition > Tag Library (Tomahawk) > outputText。
  2. 点击 outputText
  3. 在右边,您可以将 Label 更改为 Output Text
  4. 点击 Small 图标旁边的按钮。
  5. 展开 Standard Faces Components 并点击 Output
  6. 点击 OK

配置操作板窗格

  1. 展开 Faces Library Definition > Tag Library (Tomahawk) > panelGrid
  2. 点击 panelGrid
  3. 在右边,将 Label 更改为 Panel Grid
  4. 点击 Small 图标旁边的按钮。
  5. 展开 Standard Faces Components 并点击 Panel - Grid
  6. 点击 OK
  7. 现在点击操作板窗格之下的 Visualization
  8. 点击 Edit 按钮。
  9. 在 Modify Visualization 窗格中,点击 Insert from Template
  10. 点击 Grid
  11. 点击 OK 两次。

配置数据表

  1. 展开 Faces Library Definition > Tag Library (Tomahawk) > dataTable。
  2. 点击 dataTable
  3. 在右边,将 Label 更改为 Data Table
  4. 点击 Small 图标旁边的按钮。
  5. 展开 Standard Faces Components 并点击 Data Table
  6. 点击 OK
  7. 现在点击数据表之下的 Visualization
  8. 点击 Edit 按钮。
  9. 在 Modify Visualization 窗口之中,点击 Insert from Template
  10. 点击 Data table
  11. 点击 OK 两次。

配置列

  1. 点击 Faces Library Definition > Tag Library (Tomahawk) > column > Visualization。
  2. 点击 Edit 按钮。
  3. 在 Modify Visualization 窗口之中,点击 Insert from Template
  4. 点击 Column in a data table
  5. 点击 Ok 两次。
  6. 选择 File > Save 来保存 Faces Library Definition。

创建新的模板

MyCompany 正在设计一个新的网站。他们想要创建一个页面,去显示员工的姓名以及他们在公司的职位。因为您已经导入了范例数据,所以您可以基于该数据创建数据模板。然后您可以使用这些数据模板来快速生成您所寻找的网络页面。Prerequisites 部分的第二篇文章,将会进一步讨论关于 Data Templates 的具体内容。

开始时,您要创建一个简单的模板,该模板为一个 Java 项目创建了一个 Tomahawk 输出文本控件。

  1. 点击 Faces Library Definition > Data Templates。
  2. 点击 Add 按钮。
  3. 在 Add Item 窗口之中,点击 Property Template 然后点击 OK

Edit Template 窗口将会打开,如图 5 所示。

  1. 输入 Tomahawk Output Text 作为 Name
  2. 输入 java.lang.Object 作为 Class.
  3. 输入 An Output Text control from the Tomahawk tag library 作为 Description
  4. Default template for this classUse for input 选项处于清除状态。
  5. 将其粘贴为 Pattern
<${t}:outputText id="${id}" value="#{${value}}"></${t}:outputText>
  1. 点击 OK
  2. 保存 库定义。
图 5. 属性模板
上面是 Options,下面是 Insert Variable 按钮
上面是 Options,下面是 Insert Variable 按钮

模板图像中的变量是由 ${variableName} 来设计的。例如,${id} 是一个变量。在使用模板时,变量就是一系列要动态计算的模板。该模板拥有三个不同的变量:

  • id
  • value
  • t (一个标签库前缀变量)

id 就是一个确保页面上的 ID 独一无二的变量。

value 变量将输出文本与一系列的数据绑定起来。

标签库前缀变量会使用适当的前缀,来替换输出文本所使用的特定页面;前缀一般都是 “t”。

现在查看一下操作中的模板。

  1. 打开 createControls.jsp
  2. Page Data 视图之中,展开 Faces Managed Beans > emp (com.MyCompany.TestEmployee) > employee (com.MyCompany.Employee),如图 6 所示。
  3. 点击 employee 之下的 name (java.lang.String),并将名字拖拉到页面上。
图 6. Page Data 视图
右上角带有图标的 Tree 视图
右上角带有图标的 Tree 视图

当您释放鼠标时,Insert JavaBean 向导就会显示出来了。

  1. 点击 Displaying data (只读) 单选按钮。
  2. 找到 Control Type 之下的组合框。
  3. 选择 Tomahawk Output Text,如图 7 所示。
  4. 点击 Finish
图 7. Insert JavaBean 向导
选中的 Tomahawk Output Text 下拉选项
选中的 Tomahawk Output Text 下拉选项

网络页面现在包含有一个新的 HTML 表格。该表的第三列包括有一个 Tomahawk Output Text 控件,就像您的模板一样。注意您不需要对 createControls.jsp 执行什么特别的操作,以创建这些控件:所有的配置都是在 Faces Library Definition 上完成的。

  1. 保存 页面。

创建一个复杂的模板

现在您要创建一个更加复杂的数据模板:一个会生成数据表的数据模板。该数据表显示了雇员在前面所执行的任务。

  1. 切换至 Library Definition。
  2. 点击 Faces Library Definition > Data Templates
  3. 点击 Add 按钮。
  4. 在 Add Item 窗口中,选择 Iterative Template
  5. 点击 OK

Edit Template 窗口会显示出来,如图 8 所示。

  1. 输入 Tomahawk Data Table 作为 Name
  2. 输入 java.lang.Object[] 作为 Class
  3. 将复选框的选择去掉。
  4. 输入 A Data Table with multiple Columns from the Tomahawk tag library 作为 Description
  5. 将以下内容粘贴到 Wrapper pattern 之中:
<${t}:dataTable id="${id}" value="#{${value}}" var="${var}">
	${iterativeTemplate}
</${t}:dataTable>
  1. 将以下内容粘贴到 Iterative pattern 之中:
<${t}:column id="${id}column">
	${propertyTemplate}
</${t}:column>
  1. 点击 OK
  2. 保存 Library Definition。
图 8. 数据表模板
完成的 Iterative Template 窗口
完成的 Iterative Template 窗口

既然现在您已经有了一个模板,现在就可以使用它了。

  1. 切换至 createControls.jsp
  2. Page Data 视图中,展开 Faces Managed Beans > emp (com.MyCompany.TestEmployee) > employee (com.MyCompany.Employee)
  3. 点击 positionsHeld 并将其拖拉到页面之上。
  4. 将其拖拉 到 HTML 表之下。

Insert JavaBean 窗口就会出现了

  1. 找到 Data control to create 组合框并选择 Tomahawk Data Table
  2. Control Type 列之中,将所有的三行从 Display Text 更改为 Tomahawk Output Text
  3. 点击 Finish

接着将会生成一个三列的数据表。因为 positionsHeld 有三个属性(payrollCodepositionCode 以及 title),每一个属性都会生成一个列。

该页面(图 9)现在显示了雇员的名字以及她们的所在位置。所有的控件都会基于您想要显示的数据而得到创建,并自动生成。

图 9. 数据表
三列数据表的 Visualization 以及源标签
三列数据表的 Visualization 以及源标签

在偏好中编辑一个模板

如果您想要查看 Rational Application Developer 之中可用的数据模板(而不是您在 Library Definition 之中创建的模板),那么将会发生什么情况呢?为了查看所有的模板,那么您就可以查看 Rational Application Developer 的偏好了。

  1. 切换至 Window > Preferences。
  2. 展开 Web > JavaServer Faces Tools > Generation Templates。

三个子页面(Data Templates,Iterative Templates 以及 Method Templates)包括了所有的数据模板。它包含了与 Rational Application Developer 一起的标准模板,以及您在运行本文中练习时所创建的模板。

让我们查看一下 Output Text 模板,并对其做一些小小的更改。因为这就是一个 Property Template (一个简单的模板),您可以在 Data Templates 之下找到它。

  1. 点击 Data Templates

Show 组合框允许您根据模板的起源来进行筛选。筛选掉除 Tomahawk 模板之外的所有选项。

  1. Show 组合框更改为 Tomahawk

现在列表之中将会只显示 Tomahawk 模板了,如图 10 所示。

图 10. 偏好
Preferences 窗口之中的 Tomahawk 输出文本模板
Preferences 窗口之中的 Tomahawk 输出文本模板

编辑该模板并添加一个 styleClass 属性。

  1. 选择模板并点击 Edit
  2. Pattern 区域之中,在值属性之后添加以下的内容:styleClass="outputText"
  3. 现在您就可以看到该图形:
<${t}:outputText id="${id}" value="#{${value}}" 
styleClass="outputText"></${t}:outputText>
  1. 点击 OK 两次。

现在您就可以看到所做更改的结果。

  1. 在 Page Data 视图中,展开 Faces Managed Beans >emp (com.MyCompany.TestEmployee) > employee (com.MyCompany.Employee)
  2. 点击 name 并将其拖动页面之上。
  3. 拖拉 到页面的最底部。

Insert JavaBean 窗口就会显示出来了。

  1. Control Type 组合框更改为 Tomahawk Output Text。
  2. 点击 Finish

一个新的 HTML 表格会生成了。该表格之中的输出文本拥有 styleClass 属性。

  1. 保存 页面。

检查 Library Definition 之中的原始模板。

  1. 切换回 Library Definition。
  2. 点击 Faces Library Definition > Data Templates > Tomahawk Output Text (Property Template)。

您马上就能看到该模板的图像了。该图像就是您所输入的原始图像。它并没有包含有其他的 styleClass 属性。这是因为偏好中所作的模板更改并不会写回到 Library Definition。Library Definitions 被设计成在团队成员之间进行共享。如果一个模板更改对其他用户有效的话,那么它应该在库定义中作出并得到保存。但是,如果您只是暂时需要它的话,或者没有其他人需要它的话,那么您可以在偏好中作出您自己的更改。在偏好中的所作的更改将会超越从 Library Definition 中读取的模板。

绑定至控件

既然您已经看到了怎样从头生成控件,那么您就学到了怎样绑定已存在的控件。一次添加一个控件,然后再将它们进行绑定要花费更长的时间,但是您可以获得对页面更大的控制权。

  1. 打开 existingControls.jsp
  2. 在 Palette 视图中,确保 Tomahawk drawer 展开并打开了。
  3. 找到 Output Text 控件并将其拖拉到页面上。

一个 t:outputText 控件会添加到页面之上。现在您要将雇员的名字绑定至该输出文本。

  1. 在 Page Data 视图中,展开 Faces Managed Beans >emp (com.MyCompany.TestEmployee) > employee (com.MyCompany.Employee)
  2. 点击 name 并将其拖拉到 outputText
  3. 您将鼠标停留在 outputText 上时,将会看到一个对话框说“拖至这里以将名字与控件 text1 绑定起来”。
  4. 拖拉 名字到 outputText 的顶部。

通过添加以下的值属性,将会把 outputText 绑定至雇员的名字:value="#{emp.employee.name}"

为什么它可以发挥作用呢?Rational Application Developer 是如何知道怎样绑定值属性呢?为了找出问题的答案,让我们看一下库定义。

  1. 保存 页面。

库定义的 Data Binding 部分

  1. 切换回 Library Definition。
  2. 展开 Faces Library Definition > Tag Library (Tomahawk) > outputText
  3. 点击 Data Binding

这一部分控制了 Rational Application Developer 将数据绑定至控件的方式与时间,以及四个控件的组成:

  • 一个标为 绑定至多值数据(收集体或者数组) 的复选框
  • 一个列出所有 outputText 属性作为选项的 绑定的默认属性 组合框
  • 一个列出所有 outputText 属性作为选项的 重复值的属性 组合框
  • 一个 自 Page Data 视图拖拉的行为 组合框。该组合框中的三个选项是 绑定插入子控件 以及 绑定并插入子插件

如果控件正常与一个收集体或者数组(这就是说,数据是多值的)绑定的话,那么您就应该选中 绑定至多值 复选框。例如,Data Table 控件正常与一个收集体或者数组绑定的话,这样 Data Table 控件就可以选择控件了。

默认属性 组合框为数据绑定设置控件的主要属性。如果数据从 Page Data 视图拖拉到控件之上,那么这里所选择的 默认属性 将会绑定至数据。在很多种情况下,value 属性都应被选中。

重复值属性 在正常添加下会与 绑定至多值数据 复选框一起使用。如果一个控件与一个收集体绑定,并且可以接受子控件,那么子控件的绑定值通常基于 重复值 属性来决定。例如,Data Table 控件通常拥有一个 var 属性。对于一个 Data Table 控件,绑定至多个值 选项将会被选中,而 重复值属性 将会设置为 var

当数据从 Page Data 视图拖拉到一个控件上时,就需要使用 Behavior 组合框了。如果它被设置成了 Bind,那么数据就会简单地绑定至控件。如果它被设置为了 Insert,那么新的子控件就会在目标控件内生成。如果它被设置成了 Both,那么目标控件就会得到绑定,而新的子控件就会在目标控件内部生成了。您可以进一步研究所有的选项。

对于您的 outputText 控件:

  • Binds to multi-valued 处于选中状态,因为该控件在正常条件下会绑定至单个 Java 对象,但不绑定到收集体之上。
  • 默认属性value (正如您所看到那样,雇员的名字被绑定至 value 属性)。
  • 重复值属性 是空白的,因为并不需要它。
  • Behavior 被设置成 Bind

在创建 Faces Library Definition 时,这些选择已经做出了。这是因为 Rational Application Developer 会试着检查选择的标签库并选择敏感的默认值。但是,在很多种情况下,您可能想要更改这些默认值,并自己执行进一步的配置工作。

插入新的子控件

如果您想要在目标控件中创建新的子控件,将会发生什么情况呢?操作板控件通常包含了其他的控件。现在您可以定制 Panel Grid,然后为其中的雇员名添加一个控件。

  1. 展开 Faces Library Definition > Tag Library (Tomahawk) > panelGrid
  2. 点击 Data Binding
  3. 默认条件下, 自 Page Data 视图拖拉的行为 被设置成了 Bind。将其更改为 插入子控件
  4. 保存 Faces Library Definition。
  5. 切换回 existingControls.jsp。
  6. Name 的 Tomahawk 折叠项中将 Panel Grid 拖拉到页面上。
  7. 在 Page Data 视图中,展开 Faces Managed Beans >emp (com.MyCompany.TestEmployee) > employee (com.MyCompany.Employee)
  8. 点击 name
  9. name 拖拉到页面处,并将其拖拉到 panelGrid
  10. 在 Insert JavaBean 窗口,将 Control Type 列中的组合框更改为 Tomahawk Output Text
  11. Click Finish.

这里发生了什么情况?在 Panel Grid 之中添加了一个 Output Text,但是同时添加的还有一个 HTML 表格。如果您只想添加 Output Text 则会怎样呢?您可以从源中手动地删除 HTML 表格编辑,或者您可以配置 Faces Library Definition,这样它就可以在其他的页面上及其他的项目中使用该配置了。让我们配置一下 Faces Library Definition。

  1. 切换至 Edit > Undo 以从表格中删除 HTML 表格。

如果您想要格式化子控件,您就需要为它们创建一个特定的子标签了。该模板类似于 Rational Application Developer 中所使用的其他 Data Templates。

  1. 切换回 Faces Library Definition。
  2. 点击 Library Definition > Tag Library (Tomahawk) > panelGrid
  3. 点击 Add 按钮。
  4. 在 Add Item 窗口中,点击 Child Tags
  5. 点击 OK

Edit Template 窗口就会显示出来了。

  1. 输入 Panel Grid Child 作为 Name
  2. Description 之中输入 Formatting for the child of a Panel Grid

该模板的形式非常简单:您想要作为一个子类添加的唯一项就是 Input Text control。

  1. 点击 Insert Variable 按钮并选择 ${propertyTemplate},如图 11 所示。
图 11. 操作板格子标签
Name,Description 以及 Pattern.
Name,Description 以及 Pattern.
  1. 点击 OK
  2. 保存 Faces Library Definition。
  3. 切换回 existingControls.jsp。
  4. 在 Page Data 视图中,点击 name
  5. name 拖拉到页面,并将其拖到 panelGrid 之上。
  6. 在 Insert JavaBean 窗口之中,将 Control Type 列之中的组合框更改为 Tomahawk Output Text
  7. 点击 Finish

成功了!这一次唯一的子类就是新 Output Text 控件了。

  1. 保存 页面。

绑定至数据表的数据

现在让我们来看一下更加复杂的控件:数据表。数据表控件通常与 Column 控件一起使用,这样您就在 Faces Library Definition 之中配置了 Data Table 与 Column 的 Data Binding 部分了。

首先您要为一个 Data Table 配置 Data Binding 部分。

  1. 切换至 Library Definition。
  2. 展开 Faces Library Definition > Tag Library (Tomahawk) > dataTable。
  3. 点击 Data Binding

查看这一部分,Rational Application Developer 已经自动为您做出了一些选择:

  • Binds to multi-valued 被选中了
  • 默认属性 就是 value
  • 重复值的属性 就是 var

所有这一切都意味着,如果您将一个数组从 Page Data 视图拖拉到数据表上,那么结果就会如下面的代码所示:

<t:dataTable styleClass="dataTable" id="table1"
value="#{emp.employee.positionsHeld}" var="varpositionsHeld">
</t:dataTable>

这一点很好,但是您可以将其变得更加完美。您可以配置 Library Definition 以自动添加列。

  1. 从 Page Data 视图中拖拉的行为 更改为 绑定并插入子控件

现在您要添加一个 Child 模板,就像您对 panelGrid 执行的操作一样。

  1. 点击 Faces Library Definition > Tag Library (Tomahawk) > dataTable
  2. 点击 Add 按钮。
  3. 在 Add Item 窗口中,选择 Child tags
  4. 点击 OK

在 Edit Template 窗口之中,您要为一个列创建一个模板。

  1. Name 输入 Column
  2. 您可以保持描述为空白状态(模板描述是可选项)。
  3. 对于图形,粘贴该代码,如图 12 所示:
<${t}:column styleClass="column" id="${id}column">
	${propertyTemplate}
</${t}:column>
  1. 点击 OK
  2. 保存 Library Definition。
图 12. Column 子标签
数据表完成的 Edit Template 窗口
数据表完成的 Edit Template 窗口

该图形非常类似于您对数据表数据模板所使用地迭代性模板。这是因为子标签实际上就是 Iterative 模板。

  1. 切换回 existingControls.jsp。
  2. 从 Palette 的 Tomahawk 折叠项中拖拉一个 Data Table,并将其添加至 Panel Grid 之下的页面。
  3. 在 Page Data 视图之中,展开 Faces Managed Beans >emp (com.MyCompany.TestEmployee) > employee (com.MyCompany.Employee)
  4. 点击 positionsHeld 并将其拖拉到页面之中。
  5. 将其拖拉到数据表之上。
  6. 在 Insert JavaBean 窗口之中,将 Control Type 列中的所有组合框更改为 Tomahawk Output Text
  7. 点击向导之中的 Finish

数据表现在包括有三个列,如图 13 所示。

图 13. 带有新列的数据表
带有三列的数据表
带有三列的数据表

数据表的 valuevar 属性会生成,并绑定至 positionsHeld 数组,以及在数据表之中生成的列。每一个列都包含了一个 outputText (propertyTemplate),以及 outputText 的值,并使用数据表的 var

为了进一步配置 Tomahawk Library Definition,您可能还要配置 Column 控件的 Data Binding 部分。因为一个用户可能想要将数据拖拉到列控件之上,并在该控件之中生成一个新的输入与输出文本,您可以将 Column 设置 Behavior 组合框为 Insert。而且,一个新的 Child Tags 模板会与内容一起创建:${propertyTemplate}

您学到了什么

有了数据模板和 Faces Library Definitions,Rational Application Developer 就使配置一个第三方 JavaServer Faces 标签库变得容易了。您可以首先创建数据模板,然后从中生成新的控件,或者您还可以手动添加控件,然后将其绑定到数据之上。不管是哪种方式,Rational Application Developer 都提供了一系列丰富的工具,帮助您根据私人需要来进行定制。


下载资源


相关主题


评论

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

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Rational
ArticleID=556247
ArticleTitle=在 Rational Application Developer 中为第三方 JavaServer Faces 控件定制数据绑定
publish-date=10252010