0

コマンドボタンのimmediate="true"を使用すると、アクションは実際にリクエスト値の適用フェーズ中に呼び出され、残りのすべてのフェーズはスキップされます。これを念頭に置いて、私はそれがいつ呼び出されるのか正確に疑問に思っています。リクエスト値の適用フェーズの前または後?

4

2 に答える 2

2

要求値の適用フェーズが完了すると(つまり、ツリー内のすべてのコンポーネントでデコードメソッドが呼び出されると)、UIViewRootは、キューに入れられたイベントをブロードキャストします。そのうちの1つは、コマンドボタンによってキューに入れられたアクションイベントです。

これは、アフターフェーズフェーズリスナーがリクエスト値の適用フェーズで呼び出される前に発生します。

于 2012-12-06T15:31:18.473 に答える
1

単純な PhaseListener で確認できます。immediate="true" の場合、アクション メソッドは APPLY_REQUEST_VALUES フェーズで呼び出されるため、"beforePhase" と "afterPhase" の間

于 2012-12-06T15:47:55.400 に答える