Spring Web Flowについて軽く調べてみた

前回Springについて調べた際に「よくわからない」まま放置していた Spring Web Flow について、やはりとても有用な匂いがするので調べてみた。

簡単にいうと、一連の画面遷移、たとえば入力画面→確認画面(あるいはエラー画面)→完了画面といった一連の画面遷移のセットに対して、その一連の処理用のスコープ(requestよりは長く、sessionよりは短い)を提供するフレームワーク、と考えればいいだろうか。

この間の画面遷移は一方だけではなく、エラー画面から入力画面に戻ったり確認画面から入力画面に戻ったり、あるいは途中で中止したりといういろんな経路がある。この間エンティティオブジェクトを保持し、終わったら破棄する、それを管理するものという風に理解した。

具体的には、Spring Web FlowがURLの後ろにキーを付加し、それが一連の処理の間ついてまわるという仕組み。

コントローラのみの実装なので、MVの部分は他に依存する。具体的にはSpring MVCJSFなど。

ショッピングカードのようなものを作る場合に、とても理にかなったわかりやすい仕組みだと思う。だが、Spring MVCのコントローラが最初からこのようなスコープを持っていれば解決するんじゃないか、と使ったこともないのになんとなく思う。そして日本語情報の少なさにちょっと不安を覚える。

でもこれ、使ってみようかな。