0

process="@this"a 内の設定<p:dialog>は managedBean のメソッドにヒットしますが、送信された値は空です。メソッドに設定process="@form"がヒットしません。設定process="@all"によりnull値が得られます。ネストされたフォームを設定し、ダイアログにフォームを導入することはお勧めできません。process属性には何を指定する必要がありますか?

<p:commandButton id="serachInsideDialogue" value="#{msg.AddSystem_searchLabel}"  action="#{testBean.edit}" update="growl" process="@this">
    <f:setPropertyActionListener target="#{testBean.searchUserId}" value="#{testBean1.searchId}" />
</p:commandButton>
4

2 に答える 2

0

ダイアログにフォームを導入することはお勧めできません

あなたは誤解されています。

ダイアログはフォーム内に配置しないでください。代わりに、任意のフォームの外に配置して、独自のフォームを持つ必要があります。ダイアログで入力を送信する場合、ダイアログ外の同じフォーム内の他のすべての入力を処理したくないことは明らかです。

それを修正したら、process="@form"すでにデフォルト値になっている which をそのまま使用できるため、安全に完全に省略できます。

于 2013-03-28T10:55:36.547 に答える
0

そのようないくつかの機能を試すことができます

   function null() { document.getElementById("serachInsideDialogue").style.display= ""; }

そして、イベントごとに必要に応じてカスタマイズします。

そして、イベントのようなものが必要なときに、プロセスでそれらを呼び出します。

于 2013-03-28T10:50:22.873 に答える