JavaServer Faces 工具 - 发行说明


1.0 局限性
   1.1 Faces Client:具有未绑定 Faces Client 组件的 Faces JSP 不能在服务器上运行
   1.2 Faces Client:某些 Faces JSP 文件的 Faces Client 数据是从包含整数、浮点、布尔值或字符数据类型的空值的 WDO 创建的,这些 Faces JSP 不能在 WAS 5.1 上运行
   1.3 Faces Client:在插入“将所选对象设置为目标组件中的根”事件处理程序后重命名目标组件标识
   1.4 文件上载和下载组件在 portlet 中不受支持
   1.5 Faces Client:如果一个数据网格绑定至数据图中具有两层或两层以上的关系记录列表,则在服务器上向该数据网格添加一行不起作用
   1.6 嵌套的 dataTable 中的输入字段不能正常工作
2.0 已知问题
   2.1 将数据放入从页面模板派生的 Faces JSP 时出现的问题
   2.2 Faces 资源迁移未更新 SDO 配置
   2.3 inputText 上的验证页面未正确更新
   2.4 Faces Client:为 EGL 创建客户机数据后发生编译错误:“不能使用二进制名称引用嵌套类型..”
   2.5 Faces Client:对各个 portlet 的 WDO/SDO 页数据使用同一模型名称以共享 Faces Client 数据模型并非总是起作用
   2.6 Faces Client:Faces Client 控件事件因为缺少 viewId 而未能在在门户网站中正常工作
   2.7 Faces Client:饼图标注和标题在绘图中重叠。
   2.8 Faces Client:树形视图中的定制打开和关闭图标未显示在门户网站中
   2.9 Faces Client:绘图运行时 - 某些值在 y 轴刻度中重复
   2.10 Faces Client:X 轴标注字符在绘图中被截断
   2.11 Faces Client:在按计划将各项添加至数据网格后未添加标题/脚注栏
   2.12 Faces Client:在网络中调用 Web Service 失败
   2.13 Faces Client:创建客户机数据时“问题”视图中出现警告(未使用的导入类警告)
   2.14 Faces Client:“不能将 Faces Client 组件放在 clientData 标记之前”错误消息的变通方法
   2.15 Faces Client:将树形视图放到源代码中
   2.16 将图像文件放到“选项式面板”组件中
   2.17 Faces Client:将目标从 WebSphere Application Server V5.1 重新定为 V6.0 后会产生一些问题,在遵循迁移指南中的步骤解决这些问题后,可能会出现“断开的链接”警告
   2.18 在使用内部浏览器时不能编辑富文本编辑器
   2.19 丢失页面状态 - 将不提交表单
   2.20 Faces Client:绑定至只有一列的关系记录列表的数据网格未能在服务器上运行
   2.21 Faces Client:联机帮助主题“迁移带有 Faces Client 组件的 JavaServer Faces 资源”可能缺少信息
   2.22 JavaServer Face 页面在提交时丢失了内容

1.0 局限性

1.1 Faces Client:具有未绑定 Faces Client 组件的 Faces JSP 不能在服务器上运行

不能在服务器上运行包含未绑定 Faces Client 组件的 Faces JSP 文件。必须先将 Faces Client 组件绑定至客户机数据对象,才能在服务器上运行。

1.2 Faces Client:某些 Faces JSP 文件的 Faces Client 数据是从包含整数、浮点、布尔值或字符数据类型的空值的 WDO 创建的,这些 Faces JSP 不能在 WAS 5.1 上运行

这一问题是内部 WDO 代码中的 NullPointerExceptions 造成的。要解决此问题,将数据库中的空值替换为缺省值或将服务器升级至 WAS 6.0。如果进行升级,则一定要遵循《迁移指南》中标题为“迁移带有 Faces Client 组件的 JavaServer Faces 资源”的一节中的指示信息。

注意,由于同一原因,包含从空的关系记录创建的客户机数据的 Faces JSP 将不会在 WAS 5.1 上运行。这一问题没有简单容易的变通方法。

1.3 Faces Client:在插入“将所选对象设置为目标组件中的根”事件处理程序后重命名目标组件标识

如果在创建“将所选对象设置为目标组件中的根”事件处理程序片段后,将该事件处理程序的目标组件重命名,JavaScript 将出现错误。要解决此问题,删除该片段并重新创建它。

1.4 文件上载和下载组件在 portlet 中不受支持

实现文件上载和下载功能的 Faces 组件在 portlet 中不受支持。这些 Faces 组件包括:

1.5 Faces Client: 如果一个数据网格绑定至数据图中具有两层或两层以上的关系记录列表,则在服务器上向该数据网格添加一行不起作用

如果一个数据网格绑定至数据图中具有两层或两层以上的关系记录列表,则在向该数据网格添加一行后提交 Faces JSP 文件将导致 java.lang.IllegalArgumentException:“CUSTOMERS”的“CUSTOMERS_ORDERS”并非包含。

这是 Faces Client 句柄更新方式的局限性。在 SDO 中,所有关系都包含(containment=true)在“DatagraphRoot”中,并且每个关系引用(containment=false)包含在根中的其它关系。Faces Client“差别处理程序”总是试图向父代(而不是容器)添加新对象。

这一问题的变通方法是创建要进行更新的关系记录列表,然后将新行作为该表的一层关系来添加。例如,如果希望在 ORDERS 表(由 CUSTOMER 所有)中添加一行,则不要创建关系 CUSTOMER -> ORDERS 然后在 ORDERS 中添加一行,而是创建关系记录列表 ORDERS 并在 ORDERS 中添加一行。

1.6 嵌套的 dataTable 中的输入字段不能正常工作

如果列中具有输入组件的 dataTable 中嵌套了一个 dataTable(例如,行属性是集合),则数据模型将不会正常更新。

2.0 已知问题

2.1 将数据放入从页面模板派生的 Faces JSP 文件时出现的问题

将数据放入从页面模板派生的 Faces JSP 文件中时,生成的标记的位置可能不正确。如果模板的页体中有多个内容区域,则从选用板上的“页数据”视图或“数据”抽屉拖动数据总是会在第一个内容区域中生成新的标记。如果期望的目标不在该内容区域中,则切换为源代码方式。然后,剪切生成的源代码并将它粘贴至正确的位置。确保选中了所有新标记(如果有外层的 h:form 标记,也包括它),并确保粘贴位置在期望内容区域的 hx:scriptCollector 标记中的某个位置。

2.2 Faces 资源迁移未更新 SDO 配置

如果使用的项目最初是使用 WSAD 5.1.2 开发的,系统可能会提示用户迁移项目中的 Faces 资源。如果选择“是”,Faces 运行时会自动更新至最新级别,但是如果将 WDO 用于数据访问,则需要手工执行其它配置:

  1. 在原始项目中创建新的临时 Faces JSP 文件。(单击文件 > 新建 > Faces JSP 文件。要获取帮助,请参阅联机帮助。)
  2. 将选用板上的“数据”抽屉中的关系记录组件拖至页面。选择重用现有元数据并选择列示的任何一个现有 WDO .xml 文件。这一过程将生成在此项目中继续使用 WDO 所需的任何配置。
  3. 删除临时 JSP 文件。

有关更多信息,请参阅产品迁移指南。

2.3 inputText 上的验证页面未正确更新

当用户的页面上存在多个 inputText 字段时,inputText 字段的验证页面未能正确更新。如果 inputText 字段有不同的转换器子标记,则会发生此问题。例如,如果一个 inputText 在使用 convertNumber 转换器,而另一个 inputText 在使用 convertDateTime 转换器,在这种情况下切换标记时验证页面将无法正确刷新。有两个可行的变通方法:一个变通方法是切换至源代码方式然后单击子验证或辅助控件标记(此时验证页面将会刷新)。另一个变通方法是关闭 JSP 然后重新打开它。

2.4 Faces Client:为 EGL 创建客户机数据后发生编译错误:“不能使用二进制名称引用嵌套类型..”

为 EGL 客户机数据生成的差别处理程序用于引用嵌套类型的语法不正确。要解决此问题,编辑客户机数据介体类以使用正确的语法。使用句点(.)而不是美元符号($)。例如,如果代码如下:

if (_Root instanceof pagehandlers.overdueaccounts$COMPANYNAME)

则将其更改为:

if (_Root instanceof pagehandlers.overdueaccounts.COMPANYNAME)

2.5 Faces Client:对各个 portlet 的 WDO/SDO 页数据使用同一模型名称以共享 Faces Client 数据模型并非总是起作用

创建重用现有 SDO/WDO 客户机数据的客户机数据时,一定要重用 WDO/SDO 元数据文件和模型名称。从“页数据”视图创建 WDO/SDO 时,选择“重用现有记录或记录列表中的元数据定义”。然后,浏览并选择要重用的 SDO 的元数据文件。

2.6 Faces Client:Faces Client 控件事件因为缺少 viewId 而未能在门户网站中正常工作

要修正此问题,确保所有 JSF 和 JSF 客户机控件在同一门户网站页面上使用的所有 portlet 中具有唯一标识。如果门户网站页面使用具有重复标识的未知 portlet,可能会发生冲突。建议将 JSP 名称包括为标识的一部分以确保标识的唯一性。

2.7 Faces Client:饼图标注和标题在绘图中重叠。

这一问题没有已知的变通方法。建议尽量少使用标注以避免混乱。

2.8 Faces Client:树形视图中的定制打开和关闭图标未显示在门户网站中

没有变通方法。不要在门户网站的树形视图中使用定制打开和关闭图标。

2.9 Faces Client:绘图运行时 - 某些值在 y 轴刻度中重复

在 y 轴上描绘一系列非常接近的值时,使用缺省格式会降低精度。降低精度可能导致值变得重复。为避免此问题,选择适当的定制数字格式而不使用缺省值。

2.10 Faces Client:X 轴标注字符在绘图中被截断

要解决此问题,增加图的大小。

2.11 Faces Client:在按计划将各项添加至数据网格后未添加标题/脚注栏

下列情况下未显示数据网格的标题和脚注:

  1. 当数据网格绑定至空的关系列表时
  2. 当按计划将各项添加至数据网格并且项数超出网格高度时

2.12 Faces Client:在网络中调用 Web Service 失败

将 Web Service 与客户机放在两台不同服务器上时,Web Service 调用会失败。没有已知的变通方法,尽管 Macromedia Web 站点对这一跨域问题公布了一些解决方案。建议将 Web Service 与客户机放在同一服务器上。

2.13 Faces Client:创建客户机数据时“问题”视图中出现警告(未使用的导入类警告)

要避免在项目中出现这些警告,右键单击带有警告的 JavaSource 文件夹、项目或包。然后从上下文菜单中选择源 > 组织导入

2.14 Faces Client“不能将 Faces Client 组件放在 clientData 标记之前”错误消息的变通方法

当您将 Faces Client 组件放到在同一页面上包含多项客户机数据的页面上时,可能会接收到此错误。要解决此问题,切换至该 JSP 的“源代码”视图以将所有 <odc:clientData> 标记移到紧靠 <h:form> 标记的后面。

2.15 Faces Client:将树形视图放到源代码中

如果将树组件放到页面上或将树组件的源代码剪切并粘贴到页面上,<odc:tree> 标记可能会不小心带有父代标记 <p>。这将导致树组件不正确地显示在生成的 HTML 页面上。要解决此问题,删除 <odc:tree> 标记周围的 <p></p> 标记。

2.16 将图像文件放到“选项式面板”组件中

不能将“缩略图”视图或“项目资源管理器”视图中的图像文件放到选项卡式面板中。要将图像放到面板中,从“选用板”视图的“HTML 标记”抽屉中拖放某个图像,然后选择想要放下的图像文件。

2.17 Faces Client:将目标从 WebSphere Application Server V5.1 重新定为 V6.0 后会产生一些问题,在遵循迁移指南中的步骤解决这些问题后,可能会出现“断开的链接”警告

对于包含 Faces Client 组件的项目,当您遵循《迁移指南》中有关重定位目标服务器(从 WebSphere Application Server V5.1 定向为 V6.0)的步骤后,可能会接收到“断开的链接”警告。如果在 WebSphere Application Server V6.0 中运行页面时接收到这些警告或者页面未正确显示,则关闭 Web 项目然后重新打开它。

2.18 在使用内部浏览器时不能编辑富文本编辑器

当富文本编辑器在服务器上使用内部浏览器运行时将显示为只读方式。最初装入页面或将页面提交至服务器之后可能会发生此问题。使用外部浏览器来解决此问题。

2.19 丢失页面状态 - 将不提交表单

在指向 Faces 页面的 URL 和指向页面资源(CSS 和图像)的相对路径中使用 Faces 前缀将导致此问题。有两种方法可解决此问题:

1)对页面资源使用标准路径名称。

2)在指向 Faces 页面的 URL 中使用 .faces 扩展名而不是 faces/ 前缀。Faces 页面必须由 Faces servlet 处理。在项目 web.xml 文件中,缺省情况下会向此 Faces servlet 添加两个映射。

<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>

Faces 文件夹或带有 Faces 扩展名的文件不会实际存在。只需要让它们成为 Faces 页面 URL 的一部分。要表示 page1.jsp 的地址,可使用 /faces/page1.jsp 或 /page1.faces。可以同时进行这两种配置(例如,可将 .page 用作扩展名)。

2.20 Faces Client:绑定至只有一列的关系记录列表的数据网格未能在服务器上运行

当数据网格绑定至从只有一列的关系记录列表创建的客户机数据时,生成的绑定是不正确的。例如,将生成 #{pc_Index1.surveys[0].NAME} 而不是正确的绑定 {pc_Index1.surveys}。变通方法是手工编辑 JSP 源代码以除去额外索引和列名(如以上示例中所示)。

2.21 Faces Client:联机帮助主题“迁移带有 Faces Client 组件的 JavaServer Faces 资源”可能缺少信息

某些较早版本的联机帮助主题“迁移带有 Faces Client 组件的 JavaServer Faces 资源”可能缺少有关下列各项的信息:

如果缺少此信息,参阅《迁移指南》的 HTML 版本,您可以在第一张 CD 的根目录或电子映像的 disk1/migrate.html 中找到它们。

2.22 JavaServer Face 页面在提交时丢失了内容

现在的问题是 JavaServer Face(JSF)页面在提交时丢失了内容。这可能与维护页面状态的方式和处理针对页面资源(如 CCS 和图像文件)的请求的方式有关,这些资源是使用相对路径(如 theme/stylesheet.css)指定的。要解决此问题,指向 JSF 页面的 URL 应使用 .faces 扩展名选项。例如,指向 JSF 页面 myPage.jsp 的 URL 应为 /MyWebApp/myPage.faces。此扩展名是在项目 web.xml 文件中定义的。另一选择是将状态保存在客户机中。

返回到主自述文件