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

时间:2015-06-19 18:09:40

标签: jsf primefaces

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

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

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

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

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

我尝试 valueChangeListener 属性,但它无效。 有一个名为 onTransfer 的属性,但它适用于clientSide回调。

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

提前致谢。

1 个答案:

答案 0 :(得分:0)

首先,您应该考虑更新您的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(),后者将处理您的选项列表并调用操作方法。