私は問題があります。JSF Primefaces環境を使用していますが、パスワードを設定したいと思います。Beanにはメソッドがあり、例外をスローしたり、doneChangeブール値をtrueに設定したりできます。
次の実行が必要です
。doneChangeブール値がtrueの場合は、ボタンがあるダイアログを閉じて、別のダイアログを開きます。
ボタンのコードは次のとおりです。
<p:commandButton id="changeButtonId"
type="submit"
value="#{msg.changePassword}"
ajax="true"
action="#{changePasswordController.changePassword}"
update=":changePasswordFormId :actionSuccessDialogId"
oncomplete="if(#{changePasswordController.doneChange}){actionSuccessDialogVar.show()}; if(#{changePasswordController.doneChange}){changePWDialog.hide();}">
<f:setPropertyActionListener target="#{functionSuccessBean.actionName}" value="#{msg.changePassword}"/>
<f:setPropertyActionListener target="#{functionSuccessBean.description}" value="#{msg['actionSuccess']}"/>
</p:commandButton>
問題は次のとおりです。doneChangeと呼ばれるoncompleteがtrueに設定される前に、このボタンをクリックするとデバッグしました。疑わしい点は1つだけです。ボタンがレンダリングされると、oncompleteイベントが決定されます。このダイアログをもう一度開いたとき、そのdoneChangeはまだtrueであり、希望どおりに機能するためです。私はそれを機能させる方法のアイデアを使い果たしました。
どうすればdoneChangeブール値にリアルタイムで反応させることができますか?いくつかのバインディングで動作しますか?Primefacesのホームチュートリアルを試しましたが、成功しませんでした。
前もって感謝します