JSPでコーディングされたアプリケーションがあり、現在、Faceletsのページに移行中です。
PhaseListenerの1つは、コンポーネントツリーを操作しています。これは、ツリー内のいくつかのコンポーネントを見つけて、その値のいくつかを抽出する必要があるためです。ただし、Faceletsを使用すると、UIViewRootは子を返しません。
Faceletsで同じタイプの機能を取得するにはどうすればよいですか?
よろしくお願いします、パウロ
JSPでコーディングされたアプリケーションがあり、現在、Faceletsのページに移行中です。
PhaseListenerの1つは、コンポーネントツリーを操作しています。これは、ツリー内のいくつかのコンポーネントを見つけて、その値のいくつかを抽出する必要があるためです。ただし、Faceletsを使用すると、UIViewRootは子を返しません。
Faceletsで同じタイプの機能を取得するにはどうすればよいですか?
よろしくお願いします、パウロ
この行でUIViewRootを取得すると、次のように機能するはずです。
FacesContext.getCurrentInstance().getViewRoot
私の推測では、JSFライフサイクルの最初のフェーズでコンポーネントツリーを操作しようとしています。(リンク)
最初のフェーズは、要求されたページのビュー、つまりコンポーネントツリーを取得することで構成されます。したがって、このフェーズが完了した後、コンポーネントツリーを探索することができます。
使用する
phaseEvent.getPhaseId()
作業しているフェーズを確認します。