アイスフェイス:コマンドボタン用の複数のActionListeners
-
19-09-2019 - |
質問
コマンドボタンに複数のActionListenersを使用することは可能ですか?
そうでない場合は、これを回避する方法がありますか?
ご協力いただきありがとうございます!
解決
いいえ、2つのサーバー側のコールバックメソッドのみを追加できます。
actionListener
とaction
.
<ice:commandButton action="#{bean.navigateTo}" actionListener="#{bean.doSomething}"/>
actionListener
戻る公的な方法を指す必要があります void
そして、ActionEventを議論として取ります。通常、ナビゲーションロジックに関連しておらず、利点があるタスクに使用され、コントロールの古い(=変更)値を提供します。これは、チェックボックスのような入力コントロールで特に理にかなっています。
action
を返す公的な方法を指す必要があります String
議論をすることなく。このメソッドは、ナビゲートに必要なことをすべて実行します。たとえば、追加の検証など(基本的なJSFバリーターによって処理されていない場合)。結果は、ナビゲーションルールと一致する必要があります faces-config.xml
.
これにより、サーバーロジック内で複数のタスク(複数のActionListenerを使用する理由があると思います)を処理するのに十分な可能性が得られるはずです。
さらに、クライアント側のタスクのみを実行する必要がある場合は、* JavaScriptプロパティのいくつかを利用できます。
所属していません StackOverflow