重複の可能性:
Primefaces 確認ダイアログ コンポーネントを使用したマネージド Bean からのメッセージの表示
設定: jsf 2 および primefaces。
私の xhtml ページには、グラフィックを含むキャンバスが含まれています。ユーザーはグラフィックの領域をクリックできます。これは、この領域に固有の文字列を返す js 関数を呼び出します。これを「textFromClickedRegion」と呼びましょう。この文字列は、inputHidden フィールドに格納されます。
javascript の次の行は、inputhidden フィールドを含むフォームを Bean に送信し、confirmDialog (primefaces 内) を開きます。このヘッダーは、Bean からの文字列によってカスタマイズする必要があります。
問題: ダイアログは開きますが、文字列は Bean の値を取得しません (これは単なる textFromClickedRegion です)。
js スクリプト:
textFromClickedRegion = region.getText();
document.getElementById('formId:nameClicked').value = textFromClickedRegion;
document.getElementById('formId:submitNameClicked').click();
xhtml:
<h:form id="formId">
<h:inputHidden id="nameClicked" value="#{reportBean.nameClicked}"/>
<p:commandButton id="submitNameClicked" type="button" process="@form" onclick="cd.show();"/>
</h:form>
<p:confirmDialog id ="dialogBox" message="#{reportBean.nameClicked}, are you sure about destroying the world?"
header="Initiating destroy process" severity="alert"
widgetVar="cd">
<p:commandButton value="Yes Sure" oncomplete="confirmation.hide();"/>
<p:commandButton value="Not Yet" onclick="confirmation.hide();" type="button" />
</p:confirmDialog>
js関数によって返された文字列をconfirmDialogに表示させるにはどうすればよいですか?
[注: 上記は、Primefaces のマニュアルと、クライアントとサーバーの間の通信と jsf / js に関するBalusC による投稿を組み合わせたものであることがわかります - 彼に感謝します]。