1

Primefacesコマンドボタンをクリックするとダイアログボックスが表示されます。ダイアログボックスの前に、条件を確認する必要があります。

Springweb-flow2.3.0を使用しています。

だから私はこのようにやっています、

そして、ダイアログボックスは

この状態では、このダイアログボックスを表示できません。

私を助けてください、何かポインタはありますか?

SWF 2.3.0 Primefaces 2.2.1 JSF 2 Spring Security 3 Spring 3.1.0M1I EhCache Apache Tomcat 6.0 STS 2.5.1

だから私は以下のように私のコードを変更しました

                    <p:commandLink id="addRequest" immediate="true" value="addreq"
                    oncomplete="dlg3.show()" update="dialogPanel">
                    <f:setPropertyActionListener
                        value="#{searchHandler.selectedAccIns}"
                        target="#{reqSearchHandler.checkAccStatus}" />
                </p:commandLink>

そして、ダイアログボックスは

                <p:outputPanel id="dialogPanel"
                rendered="#{not reqSearchHandler.accStatusFlag}">
                <p:dialog header="Effect Dialog" widgetVar="dlg3"
                    showEffect="bounce" hideEffect="explode" height="200">
                    <h:outputText
                        value="Account is #{searchHandler.selectedAccIns.accStatusDesc}" />
                    <h:outputText value="Do you want to continue?" />
                    <div align="left">
                        <p:commandButton value="Yes" action="accept" />
                        <p:spacer width="960" height="5" />
                        <p:commandButton value="No" action="cancel" />
                    </div>
                </p:dialog>
            </p:outputPanel>

しかし、コマンドリンクをクリックすると、3つのダイアログボックスが表示されます。なぜそうなのか教えていただけますか?

4

1 に答える 1

1

他の誰かが同じ問題を投稿しました!:)

commandButtonのoncomplete代わりに属性を使用する必要があります。onclickクリックjavascriptイベントは、ページがポストバックする前に発生し、ページのリロードが原因でダイアログが表示されない可能性があります。

oncomplete="dlg3.show()"ポストバック後にダイアログが表示されます。

于 2011-09-02T11:37:57.860 に答える