我有一个分页的 OpenFaces 3 数据表(在表下方的一个方面内使用 o:dataTablePaginator),其中有一列包含一个 a4j:jsFunction 标记(使用 RichFaces 4.1),用于在桌子。包含该表的 JSF 2.1 页面正在应用程序中部署到 Glassfish 3.1 上。
当我单击表格的下一页图标时,数据表无法通过 AJAX 更新,并且页面右上角仍显示 OpenFaces AJAX“正在加载...”消息(带有“旋转”菱形)。在 Firebug 中,我可以看到 OpenFaces AJAX Post 的结果是 ajaxUtil.js 受影响的第 344 行出错:
TypeError: xml.getElementsByTagName("partial-response")[0] is undefined
var childNodes = xml.getElementsByTagName("partial-response")[0].childNodes;
以及 IE 开发人员工具中的以下错误:
SCRIPT5007: Unable to get value of the property 'childNodes'
: object is null or undefined
我已经能够消除数据表中的所有其他标签作为问题的原因,除了这个:
<a4j:jsFunction id="cellUpdateFunction#{rowIndex}"
name="updateCellStr#{rowIndex}"
data="#{backingBean.getStrForRow(rowIndex)}" execute="@this"
oncomplete="setCellText(#{rowIndex}, event.data);"/>
这将在列单元格(针对表格的每一行)中创建一个 JavaScript 函数,该函数在调用时会使用为支持 bean 中的单元格存储的字符串更新单元格中的文本。
有谁知道这是否是一个已知问题并且我找不到解决方法?否则,我将如何使用 OpenFaces AJAX 编写类似的功能,因为我希望仅使用 OpenFaces 组件不会破坏更新 OpenFaces 数据表的 AJAX 调用?
提前感谢您的帮助。