我的一个页面中有一个选项列表组件(Primefaces 6.x)。选项列表有一个“转移”事件监听器,如展示中所示:
<p:ajax event="transfer" listener="#{pickListView.onTransfer}" update="msg" />
这很好用,我每次在目标列表中添加或删除项目时都会调用我的方法。
我的问题是,是否可以仅在目标列表中添加项目时触发事件处理程序,或者是否有办法在我的方法中捕获目标操作中的删除并忽略我在bean方法中执行的所有验证。
答案 0 :(得分:4)
源代码打开并拥有良好的代码完成IDE是一个优势。两者都可以表明TransferEvent.java
具有isAdd()
和isRemove()
方法。这些可以很容易地用于区分一个实际使用的eventHandler。
public void onTransfer(TransferEvent event) {
if (event.isAdd()) {
// Do actual work
}
}