Hey StackOverflow社区, 也许你们能够帮我解决问题。
我正在使用PrimeFaces 6.0
问题: 我的PickList没有触发事件,因此我的Java代码无法处理它。
我的view.xhtml
<p:dialog header="Division" widgetVar="dialog2" id="divDialog"
minHeight="400" minWidth="400" showEffect="pop" resizable="false">
<h:form>
<p:pickList id="pickList"
value="#{workerViewController.wvm.explicitDivision}" var="divList"
itemLabel="#{divList}" itemValue="#{workerViewController.wvm.division}"
showSourceFilter="true" showTargetFilter="true">
<p:ajax event="transfer"
listener="#{workerViewController.onTransfer}" />
</p:pickList>
</h:form>
<h:form>
<p:commandButton value="Save Data"
actionListener="#{workerViewController.onDivisionSave()}" />
<p:commandButton value="Close" type="button"
onclick="PF('dialog2').hide()" />
<p:commandButton value="Reset"
update=":#{p:component('workerTable')}"
actionListener="#{workerViewController.resetFilter()}" />
</h:form>
</p:dialog>
我已经测试过,如果我在上面的form-tag中移动我的SaveData按钮,它也不会再触发事件。
我的豆子:
@ManagedBean
@Scope(value = "request")
@Controller
public class WorkerViewController {
....
public void onTransfer(TransferEvent event){
System.out.println("Write smthing");
//this.wvm.onTransfer(evt);
}
}
我现在对问题源的唯一想法是与tabog内部的对话框有关,但代码中其他任何地方的所有其他actionListeners都有效。
非常感谢你们