7

ajax呼び出しを実行するこれらの2つの方法の違いは何ですか?

<h:commandButton value="Submit" action="#{bean.action}">
   <f:ajax execute="@form" render="component"/>
</h:commandButton>

<h:commandButton value="Submit">
   <f:ajax listener="#{bean.action}" execute="@form" render="component"/>
</h:commandButton>

人々は最初の方法をより頻繁に使用するようですが、2番目の方法もうまく機能しているようです...

4

1 に答える 1

13

最初の方法では、結果を返すことでナビゲーションが可能にStringなり、2番目の方法ではそうではありません。クライアントでJSが無効になっている場合、2番目の方法では何も呼び出されませんが、1番目の方法では正常に機能が低下します。実際、最初の方法がより頻繁に使用されます。

action2番目の方法は、などの属性を持たないコンポーネントでの唯一の方法<h:selectOneMenu>です。

于 2012-08-31T21:33:07.930 に答える