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>
私はテストしましたが、SaveData ボタンを上部のフォーム タグ内に移動すると、イベントも発生しなくなります。
私の豆:
@ManagedBean
@Scope(value = "request")
@Controller
public class WorkerViewController {
....
public void onTransfer(TransferEvent event){
System.out.println("Write smthing");
//this.wvm.onTransfer(evt);
}
}
問題のソースに関する私の唯一の考えは、タブビュー内にあるダイアログに関連していますが、コード内の他のすべての actionListeners は機能します。
もうありがとう