1

データベースを読み取り、さらに処理する値を選択してドロップダウンを作成しています。問題は処理部分で発生します。

ドロップダウンの ajax リスナーは、すべての選択ではなく、代替選択でのみトリガーされます。初めて値を選択すると、リスナーがトリガーされません。2 回目に選択すると、再びトリガーされます。3 回目もトリガーされません。

<p:selectOneMenu id="selectedBPZero" value="#{selectCriteriaBean.selectedBPZero}" >
    <f:selectItem itemValue="0" itemLabel="Select Option" />
    <f:selectItem itemValue="1" itemLabel="Add New BP" />
    <f:selectItems value="#{selectCriteriaBean.bpZeroList}"/>
    <p:ajax listener="#{selectCriteriaBean.bpZeroListSelectActionByAjaxCall}" event="change" update="selectedBPOne,selectedBPOneTextInfo" process="@this"/>
</p:selectOneMenu> 

リスナーメソッドは以下の通りです

public void bpZeroListSelectActionByAjaxCall() {
    setParentBusinessProcessId(0);
    setSelectedBPOne(0);
    setSelectedBPTwo(0);

    setBPOneListRendered(false);
    setBPTwoListRendered(false);

    setModifyButtonBPZeroRendered(false);       
    setModifyButtonBPOneRendered(false);
    setModifyButtonBPTwoRendered(false);
    if (getSelectedBPZero() == 0) {
        RedirectScreen.redirectToPage("/ALM/home.faces");
    } else {
        if (getSelectedBPZero() == 1) {
            setAddBPLevelNumber(0);
            addBP();                            
        } else {
            setBPOneListRendered(true);
            setModifyButtonBPZeroRendered(true);
            // Get BP List
            bpLevelOneList = bpList(1,getSelectedBusinessProcessLevelZero());
            RedirectScreen.redirectToPage("/ALM/home.faces");       
        }
    }
}

イベントをvalueChangeclickに変更しようとしましたが、うまくいきません。私は GlassFish セットアップで Eclipse に取り組んでいます。

Rational Application Developer (RAD) でテストしたのと同じコードが動作しています。

ティア

4

0 に答える 0