2009-08-24 7 views

答えて

1

いいえ、あなたは2つだけ、サーバー側のコールバックメソッドを追加することができます。

  • actionListener
  • action

<ice:commandButton action="#{bean.navigateTo}" actionListener="#{bean.doSomething}"/>

actionListenervoidを返し、引数としてのActionEventをとるパブリックメソッドを指すように有しています。これは一般に、ナビゲーションロジックに関連していないタスクに使用され、コントロールの古い値と新しい値(=変更された値)を提供するという利点があります。これは、チェックボックスのような入力コントロールでは特に意味があります。

actionは、引数をとらずにStringを返すパブリックメソッドを指す必要があります。このメソッドは、ナビゲーションに必要なすべての処理を行います(たとえば、基本的なJSFバリデーターで処理されていない場合)。結果はfaces-config.xmlのナビゲーションルールと一致しなければなりません。

これは、サーバーロジック内で複数のタスク(複数のactionListenerを持つ理由があると思われます)を処理するための十分な可能性を提供します。

さらに、一部のクライアントサイドタスクのみを実行する必要がある場合は、いくつかのon * JavaScriptプロパティを利用できます。

参考文献: