3

我正在扩展 PrimeFaces 数据表。当我这样做时,当我不扩展它时,我不再得到我收到的 Ajax 事件。这不是我在扩展中所做的任何事情,因为我删除了覆盖的 DataTable 中的所有方法,但仍然没有 Ajax 事件。

以下是相关代码:

public class MyDataTable extends DataTable {
}

在我的 faces-config.xml 中:

<component>
    <component-type>org.primefaces.component.DataTable</component-type>
    <component-class>com.xxx.MyDataTable</component-class>
</component>

就是这样......在这样做之后,DataTable 通常接收的事件(在我的情况下是 contextMenu 事件)不再被接收。除此之外,DataTable 似乎可以正常运行。

我是否需要做其他事情才能使事件顺利进行?我不知道这是我正在做的事情,PrimeFaces 错误还是 MyFaces 错误。

我得到了 PrimeFaces 源代码并在 queueEvent(event) 方法中放置了一个断点。如果我不扩展控件,它会被击中,但如果我扩展它则不会。

我正在使用 WebSphere 8.5.1 附带的 PrimeFaces 3.5 和 MyFaces 2.1.5 实现。

谢谢你的帮助。PrimeFaces 论坛上没有人回答我的问题,所以我真的很绝望......

4

1 回答 1

1

我将自定义数据表重命名为 DataTable 并获取 Ajax 事件。

public class DataTable extends org.primefaces.component.datatable.DataTable {
}
于 2014-04-24T08:56:55.687 回答