先にジャンプ
VMware は、あなたの進歩を加速させるトレーニングと認定を提供します。
さらに学習したい方に (英語)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 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 でプロジェクトのひな形を生成します。