Rich:当行包含h:commandLink时,DataTable排序中断

时间:2012-03-20 21:35:53

标签: jsf webkit richfaces

我有rich:dataTable进行排序。表中的每一行都有一个h:commandlink到另一个页面。这适用于所有非webkit浏览器。

通过点击标题排序时,表格的内容将被清除,Chrome JavaScript控制台中会显示以下错误:

Uncaught Error: NOT_SUPPORTED_ERR: DOM Exception 9

这似乎是一个已知问题(https://issues.jboss.org/browse/RF-6096),但没有任何解决方案。

2 个答案:

答案 0 :(得分:0)

我发现使用:

<a4j:commandLink ... />

而不是

<h:commandlink .../>

解决了表格排序的所有问题。

(我无法登录JBoss问题跟踪器添加此评论,因此如果您有权访问,这对您有用,请添加评论。)

答案 1 :(得分:0)

这似乎是document.importNode的webkit实现的一个问题。要解决此问题,您可以在模板文件中使用这一小段javascript代码:

if( /webkit/.test( navigator.userAgent.toLowerCase() ) ){
    var _importNode = window.document.importNode;
    window.document.importNode = function(node, deep){
        try{
            return _importNode.apply(this, arguments);
        } catch(e) {
            if( e.code == DOMException.NOT_SUPPORTED_ERR ){
                // clone and adopt
                return document.adoptNode(node.cloneNode(deep));
            }
            throw e;
        }
    };
}