0

次のコードでフォームを送信しようとしていますが、Bean のフィールドにデータが入力されません。

//input above
<h:commandButton actionListener="#{transferenciaVagaBean.search()}" value="Search">
  <f:ajax render="@form"/>
</h:commandButton>

ただし、コンポーネントを次のように変更すると:

//input above
<a4j:commandButton actionListener="#{transferenciaVagaBean.search()}" 
                   value="Search" 
                   render="@form" />

それは完璧に機能します。h:commandButton を使用して何か間違ったことをしていますか?

actionListener以前はこれで問題があったので、 からに変更しようとしましactionたが、 ではどちらの方法でも機能しませんでしたh:commandButton

4

1 に答える 1

2

デフォルトでは、f:ajaxは実行のみを@this意味し、フォームの入力の値ではなく、アクション ボタンのみを送信します。これを試して:

...
<f:ajax execute='@form' render='@form' />
...

javadocの実行セクションを参照してください。

... リテラルを指定する場合、ID はスペースで区切る必要があります。id リストには、"@this"、"@form"、"@all"、"@none" のいずれかのキーワードを指定できます。指定しない場合は、デフォルト値の「@this」が使用されます。たとえば、@this clientIdOne clientIdTwo です。

于 2013-03-27T22:37:48.973 に答える