在一个Paginated OpenFaces 3数据表中使用a4j:jsFunction

时间:2012-09-17 17:20:09

标签: datatable ajax4jsf openfaces

我有一个分页的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调用?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用每晚构建并检查吗?您可以在此处找到夜间构建:http://openfaces.org/downloads/