3

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 は機能します。

もうありがとう

4

0 に答える 0