Spring Web Flow 3.0.0

Spring Web Flow は Spring MVC 上に構築され、Web アプリケーションの「フロー」を実装できます。フローは、ビジネスタスクの実行を通じてユーザーをガイドする一連のステップをカプセル化します。複数の HTTP リクエストにまたがり、状態を持ち、トランザクションデータを処理し、再利用可能であり、動的で長時間実行される場合があります。

Spring Web Flow のスイートスポットは、フライトのチェックイン、ローンの申し込み、ショッピングカートのチェックアウト、さらにはフォームへの確認ステップの追加など、ナビゲーションが制御されたステートフル Web アプリケーションです。これらのシナリオに共通しているのは、次の特性の 1 つ以上です。

  • 明確な開始点と終了点があります。

  • ユーザーは、特定の順序で一連の画面を表示する必要があります。

  • 変更は最後のステップまで確定されません。

  • 完了したら、誤って取引を繰り返すことはできません

Spring Web Flow は、より高いレベルの抽象化でフローを作成するための宣言型フロー定義言語を提供します。これにより、Spring MVC、JSF、さらにはポートレット Web アプリケーションを含む幅広いアプリケーションに (フロープログラミングモデルを変更することなく) 統合できます。以下は、ナビゲーション要件を持つステートフル Web アプリケーションで見られる一般的な課題です。

  • フローを視覚化することは非常に困難です。

  • アプリケーションには、HTTP セッションにアクセスする多くのコードがあります。

  • 制御されたナビゲーションを強制することは重要ですが、不可能です。

  • 適切なブラウザーの戻るボタンのサポートは達成できないようです。

  • 「戻る」ボタンを使用すると、ブラウザーとサーバーが同期しなくなります。

  • 複数のブラウザータブにより、HTTP セッションデータの同時実行性の問題が発生します。

  • Spring Web Flow は、上記の課題に対する解決策を提供します。

Spring Boot 構成

Spring Web Flow を使用するには、次の依存関係をアプリケーションに追加します。

Maven

<dependencies>
    <dependency>
        <groupId>org.springframework.webflow</groupId>
        <artifactId>spring-webflow</artifactId>
        <version>2.5.1.RELEASE</version>
    </dependency>
</dependencies>

Gradle

dependencies {
    compile 'org.springframework.webflow:spring-webflow:2.5.1.RELEASE'
}
Spring Initializr

プロジェクトのクイックスタート

サポートの取得

Tanzu Spring は、1 つのシンプルなサブスクリプションで OpenJDK ™、Spring、Apache Tomcat ® のサポートとバイナリを提供します。

さらに学習したい方に (英語)

今後のイベント

Spring コミュニティで今後開催されるすべてのイベントをチェックしてください。

すべて表示 (英語)