クラス DefaultFlowUrlHandler
java.lang.ObjectSE
org.springframework.webflow.context.servlet.DefaultFlowUrlHandler
- 実装されたすべてのインターフェース:
FlowUrlHandler
- 既知の直属サブクラス
FilenameFlowUrlHandler
Spring Web Flow のデフォルトの FlowUrlHandler 実装。
フローを起動する URL は次のパターンになることが想定されます。
https://<host>/[app context path]/[app servlet path]/<flow path>たとえば、URL
http://localhost/springtravel/app/booking
はフロー "booking" にマップされ、URL http://localhost/springtravel/app/hotels/booking
はフロー "hotels/booking" にマップされます。これらの両方の例で、/springtravel はコンテキストパスで、/app はサーブレットパスです。フロー ID は、リクエスト URL 文字列のパス情報コンポーネントとして扱われます。パス情報が null の場合、servletPath がフロー ID として使用されます。また、サーブレットパスが拡張子で終わる場合、フロー ID の計算時に削除されます。例: コンテキストパスが /springtravel,、サーブレットパスが /hotels/booking.htm (サーブレットマッピングが *.htm にマップされている可能性が高い)、パス情報が null の場合、URL http://localhost/springtravel/hotels/booking.htm
はフロー ID "hotels/booking" にマップされます。フローを再開する URL は次のパターンになることが想定されます。
https://<host>/[app context path]/[app servlet path]/<flow path>?execution=<flow execution key>たとえば、URL http://localhost/springtravel/app/hotels/booking?execution=e1s1 は、"hotels/booking" フローの実行 "e1s1" を再開しようとします。
- 作成者:
- Keith Donald, Jeremy Grelle
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected <T> void
appendQueryParameters
(StringBuilderSE url, MapSE<StringSE, T> parameters, StringSE encodingScheme) createFlowDefinitionUrl
(StringSE flowId, AttributeMap<?> input, jakarta.servlet.http.HttpServletRequest request) 指定されたフロー ID のフロー定義 URL は、フロー ID をベースアプリのコンテキストとサーブレットパスに追加することによって構築されます。createFlowExecutionUrl
(StringSE flowId, StringSE flowExecutionKey, jakarta.servlet.http.HttpServletRequest request) アドレス指定するとフローの既存の実行を再開する URL を作成します。protected StringSE
getEncodingScheme
(jakarta.servlet.http.HttpServletRequest request) getFlowExecutionKey
(jakarta.servlet.http.HttpServletRequest request) リクエストからフロー実行を抽出します。getFlowId
(jakarta.servlet.http.HttpServletRequest request) リクエストからフロー ID を抽出します。void
setEncodingScheme
(StringSE encodingScheme) フロー URL の文字エンコードスキームを設定します。
コンストラクターの詳細
DefaultFlowUrlHandler
public DefaultFlowUrlHandler()
メソッドの詳細
setEncodingScheme
フロー URL の文字エンコードスキームを設定します。デフォルトはリクエストのエンコードスキームです (特に指定がない場合は ISO-8859-1 になります)。getFlowExecutionKey
インターフェースからコピーされた説明:FlowUrlHandler
リクエストからフロー実行を抽出します。- 次で指定:
- インターフェース
FlowUrlHandler
のgetFlowExecutionKey
- パラメーター:
request
- リクエスト- 戻り値:
- フロー実行キー、またはフロー実行キーが存在しない場合は null
getFlowId
インターフェースからコピーされた説明:FlowUrlHandler
リクエストからフロー ID を抽出します。- 次で指定:
- インターフェース
FlowUrlHandler
のgetFlowId
- パラメーター:
request
- リクエスト- 戻り値:
- フロー ID、またはフロー ID が存在しない場合は null
createFlowExecutionUrl
public StringSE createFlowExecutionUrl(StringSE flowId, StringSE flowExecutionKey, jakarta.servlet.http.HttpServletRequest request) インターフェースからコピーされた説明:FlowUrlHandler
アドレス指定するとフローの既存の実行を再開する URL を作成します。- 次で指定:
- インターフェース
FlowUrlHandler
のcreateFlowExecutionUrl
flowExecutionKey
- 一時停止され再開を待機しているフロー実行キーrequest
- 現在のリクエスト- 戻り値:
- フロー実行 URL
createFlowDefinitionUrl
public StringSE createFlowDefinitionUrl(StringSE flowId, AttributeMap<?> input, jakarta.servlet.http.HttpServletRequest request) 指定されたフロー ID のフロー定義 URL は、フロー ID をベースアプリのコンテキストとサーブレットパスに追加することによって構築されます。サンプル - 次の場所からリクエストが送信されました:
https://someHost/someApp/someServlet/nestedPath/foo
フロー ID "nestedPath/bar" のリクエストの場合、新しいフロー定義 URL は次のようになります。https://someHost/someApp/someServlet/nestedPath/bar
- 次で指定:
- インターフェース
FlowUrlHandler
のcreateFlowDefinitionUrl
- パラメーター:
flowId
- フロー定義の IDinput
- 新しいフロー実行を渡すための入力request
- 現在のリクエスト- 戻り値:
- フロー定義 URL
getEncodingScheme
appendQueryParameters
protected <T> void appendQueryParameters(StringBuilderSE url, MapSE<StringSE, T> parameters, StringSE encodingScheme)