我有一个分页的OpenFaces 3数据表(在表格下方的facet中使用o:dataTablePaginator),其中包含一个包含a4j:jsFunction标记(使用RichFaces 4.1)的列,以在每个内部创建(一个名称不同的)JavaScript函数桌子的一排。包含该表的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 Developer Tools中的以下错误:
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调用?
提前感谢您的帮助。