使用<p:pickList>拖放元素时如何调用bean方法?

How to call bean method when drag-drop the element using <p:pickList>?

我正在为基于 jsf 的应用程序使用 primefaces 3.3 库。

我正在使用 <p:pickList> 处理元素从源到目标的拖放操作,反之亦然。

我想在元素从源传输到目标(通过 拖放 )时调用 jsf bean 方法,反之亦然,并在那里处理一些逻辑事情。

我按照linkPrimeFaces showcase for pickList来实现我的功能。这是5.2.7版本。

primefaces 5.2.7 中可以通过 <p:ajax event="transfer" /> 轻松完成,但是如何使用 primafaces 3.3[=39= 实现此目的].

我尝试 valueChangeListener 属性,但它不起作用。 有一个名为 onTransfer 的属性,但它用于客户端回调。

这可以通过放置 提交 按钮来实现。但我想通过拖放来实现它。那我该怎么做呢?

提前致谢。

首先,您应该考虑更新您的 primefaces 版本。不仅为新功能提供更新,还为错误修复、改进(性能、稳定性)等提供更新。

目前我找不到 3.3 的文档,但您可以尝试使用 p:remoteCommand(它在 3.5 文档中,因此可能可用):

使用 onTransfer="submitToBean()"p:remoteCommand 可能如下所示:

<p:remoteCommand 
   name="submitToBean" 
   action="#{myBean.doSomething}"
   process="idOfYourPickList" 
   partialSubmit="true" />

然后 onTransfer 事件将调用 javascript 方法 submitToBean(),后者将处理您的选择列表并调用操作方法。