我正在扩展PrimeFaces DataTable。当我这样做时,我不再获得当我不扩展它时收到的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)方法中放置了一个断点。如果我不扩展控件但是如果我扩展它就不会被击中。
我正在使用PrimeFaces 3.5和WebSphere 8.5.1附带的MyFaces 2.1.5实现。
感谢您的帮助。 PrimeFaces论坛上没有人回复我的问题,所以我真的很绝望......
答案 0 :(得分:1)
我将自定义dataTable重命名为DataTable并获取Ajax事件。
public class DataTable extends org.primefaces.component.datatable.DataTable {
}