パッケージ jakarta.faces.application

クラス NavigationHandler

java.lang.ObjectSE
jakarta.faces.application.NavigationHandler
既知の直属サブクラス
ConfigurableNavigationHandlerNavigationHandlerWrapper

public abstract class NavigationHandler extends ObjectSE

A NavigationHandler には、このアプリケーションに対して呼び出されたアプリケーションアクションによって返された結果文字列が渡され、これを(関連する状態情報とともに)使用して、次に表示するビューを選択します。

NavigationHandler のデフォルト実装は、Jakarta Faces 実装によって提供される必要があります。これは、setNavigationHandler() が呼び出されて別の実装を確立しない限り使用されます。このクラスの実装はスレッドセーフである必要があります。このデフォルトのインスタンスは、現在のビューのビュー識別子、指定されたアクションバインディング、指定された結果を、faces-config.xml ファイルで提供されるナビゲーションルールと比較します。ナビゲーションケースが一致する場合、現在のビューは FacesContext.setViewRoot() の呼び出しによって変更されます。null の結果値はナビゲーションルールと一致しないため、現在のビューを再表示する必要があることを示すインジケーターとして使用できます。

  • コンストラクターの詳細

    • NavigationHandler

      public NavigationHandler()
  • メソッドの詳細

    • handleNavigation

      public abstract void handleNavigation(FacesContext context, StringSE fromAction, StringSE outcome)

      指定された FacesContext の状態情報に加えて実行されるアプリケーションのアクションによって返された結果の文字列に基づいて、ナビゲーション処理を実行します

      実装クラスも ConfigurableNavigationHandler を継承する場合、実装は、正しいナビゲーションを決定するために、ConfigurableNavigationHandler.getNavigationCase(jakarta.faces.context.FacesContext, java.lang.String, java.lang.String) の呼び出しで使用されるロジックがこのメソッドで使用されることを保証する必要があります。

      アプリケーションアクションの結果としてビュー識別子が変更された場合(Ajax requests を考慮に入れるため)、このメソッドはレンダーターゲット(部分的なレンダリングで使用される)を render all  (PartialViewContext.setRenderAll(boolean) を呼び出す)に設定する必要があります。

      パラメーター:
      context - 現在のリクエストの FacesContext
      fromAction - 指定された結果を取得するために評価されたアクションバインディング式、または結果が他の手段で取得された場合は null 
      outcome - 以前に呼び出されたアプリケーションアクションによって返された論理結果 (null かもしれません)
      例外:
      NullPointerExceptionSE - context が null の場合
    • handleNavigation

      public void handleNavigation(FacesContext context, StringSE fromAction, StringSE outcome, StringSE toFlowDocumentId)

      呼び出し元がこのナビゲーションによって入力されるフローの定義ドキュメント ID を提供できるようにする handleNavigation(jakarta.faces.context.FacesContext, java.lang.String, java.lang.String) のオーバーロードされたバリアント。以前のバージョンの仕様に準拠する装飾された NavigationHandler 実装との下位互換性のために、toFlowDocumentId パラメーターを無視して handleNavigation(jakarta.faces.context.FacesContext, java.lang.String, java.lang.String) を呼び出す実装が提供されています。

      パラメーター:
      context - 現在のリクエストの FacesContext
      fromAction - 指定された結果を取得するために評価されたアクションバインディング式、または結果が他の手段で取得された場合は null 
      outcome - 以前に呼び出されたアプリケーションアクションによって返された論理結果 (null かもしれません)
      toFlowDocumentId - このナビゲーションによってエントリが発生するフローの定義ドキュメント ID。
      例外:
      NullPointerExceptionSE - context が null の場合