クラス FilenameFlowUrlHandler
java.lang.ObjectSE
org.springframework.webflow.context.servlet.DefaultFlowUrlHandler
org.springframework.webflow.context.servlet.FilenameFlowUrlHandler
- 実装済みのインターフェース一覧:
FlowUrlHandler
標準の
DefaultFlowUrlHandler の代替となるファイル名ベースの FlowUrlHandler 実装。URL サフィックスやプレフィックスのないリクエストのファイル名をフロー ID として扱います。既存の Web Flow 2 アプリケーションとの互換性を維持するために、FlowController 実装によってデフォルトの実装として使用されます。この実装は、ファイル名を抽出し、リクエスト URL からファイル拡張子を削除します。結果は、アプリケーション全体で一意である必要があるフロー ID として使用されます。
たとえば、URL は次のようになります。
https://someHost/someApp/someServlet/foo
https://someHost/someApp/someServlet/nestedPath/foo
https://someHost/someApp/someServlet/nestedPath/foo.html
ファイル名 "foo" はすべてフロー ID として扱われます。注意 : このクラスはファイル名のみをフロー ID として扱うため、衝突が発生する可能性があります。例:
http://localhost/springtravel/app/hotel/booking http://localhost/springtravel/app/flight/bookingどちらも、"hotel/booking" と "flight/booking" ではなく、同じフロー ID "booking" をマップします。これはこの実装の制限です。これらの衝突を回避するには、リクエスト URL プレフィックスも使用する標準の
DefaultFlowUrlHandler の使用を検討してください。- 作成者:
- Agim Emruli, Jeremy Grelle, Nazaret Kazarian
コンストラクター概要
コンストラクター方法の概要
修飾子と型メソッド説明createFlowDefinitionUrl(StringSE flowId, AttributeMap<?> input, jakarta.servlet.http.HttpServletRequest request) 指定された flowId のフロー定義 URL は、同じパスとファイル拡張子を再利用して、現在のリクエストの URL から推測されます。static StringSEextractFilenameFromUrlPath(StringSE urlPath) static StringSEextractFullFilenameFromUrlPath(StringSE urlPath) getFlowId(jakarta.servlet.http.HttpServletRequest request) リクエストからフロー ID を抽出します。クラス org.springframework.webflow.context.servlet.DefaultFlowUrlHandler から継承されたメソッド
appendQueryParameters, createFlowExecutionUrl, getEncodingScheme, getFlowExecutionKey, setEncodingScheme
コンストラクターの詳細
FilenameFlowUrlHandler
public FilenameFlowUrlHandler()
メソッドの詳細
getFlowId
インターフェースからコピーされた説明:FlowUrlHandlerリクエストからフロー ID を抽出します。- 次で指定:
- インターフェース
FlowUrlHandlerのgetFlowId - オーバーライド:
- クラス
DefaultFlowUrlHandlerのgetFlowId - パラメーター:
request- リクエスト- 戻り値:
- フロー ID、またはフロー ID が存在しない場合は null
extractFilenameFromUrlPath
extractFullFilenameFromUrlPath
createFlowDefinitionUrl
public StringSE createFlowDefinitionUrl(StringSE flowId, AttributeMap<?> input, jakarta.servlet.http.HttpServletRequest request) 指定された flowId のフロー定義 URL は、同じパスとファイル拡張子を再利用して、現在のリクエストの URL から推測されます。サンプル - 次の場所からリクエストが送信されました:
https://someHost/someApp/someServlet/nestedPath/foo.html
フロー ID "bar" のリクエストの場合、新しいフロー定義 URL は次のようになります。https://someHost/someApp/someServlet/nestedPath/bar.html
- 次で指定:
- インターフェース
FlowUrlHandlerのcreateFlowDefinitionUrl - オーバーライド:
- クラス
DefaultFlowUrlHandlerのcreateFlowDefinitionUrl - パラメーター:
flowId- フロー定義の IDinput- 新しいフロー実行を渡すための入力request- 現在のリクエスト- 戻り値:
- フロー定義 URL