Primefaces 选择列表仅在添加时触发传输事件

Ste*_*han 2 jsf primefaces jsf-2

我的一个页面中有一个选项列表组件(Primefaces 6.x)。该选项列表有一个“transfer”事件侦听器,如展示中所示:

<p:ajax event="transfer" listener="#{pickListView.onTransfer}" update="msg" />
Run Code Online (Sandbox Code Playgroud)

这工作得很好,每次我从目标列表中添加或删除项目时都会调用我的方法。

我的问题是,是否可以仅在目标列表中添加项目时触发事件处理程序,或者是否有办法捕获我的方法中的从目标操作中删除并忽略我在 bean 方法中执行的所有验证。

Kuk*_*tje 6

源代码开放并且拥有良好的 IDE 来完成代码有一个优点。两者都可以表明TransferEvent.java具有isAdd()isRemove()方法。这些可以很容易地用于区分事件处理程序中实际使用的是哪一个。

public void onTransfer(TransferEvent event) {

   if (event.isAdd()) {
      // Do actual work
   }

}
Run Code Online (Sandbox Code Playgroud)