質問: JavaでWebアプリケーションの開発を行っているのですが RailsでいうFlashみたいなものをJavaで実装するにはどうしたらよいでしょうか? ヒントをいただけると嬉しいです。 ちなみにStrutsやSpringなどのフレームワークの使用はなく、スクラッチです。
回答: JavaのWebアプリケーションでは標準でFlashスコープがありませんので、セッション属性を利用してFlashスコープを実装します。 Flashスコープは、セッション属性へ"flash"の名前でオブジェクトを格納するとルールを決めます。 Flashスコープへ値を格納するときは、複数のオブジェクトを格納できるよう、Mapを入れると柔軟性があるでしょうか。 次にFlash属性は格納したリクエストの次リクエストにて自動的に取り出して破棄する仕組みなので、これはサーブレットフィルタとの合わせ技になります。 まず特定のリクエスト(ないしはすべてのリクエスト)に対してFlashスコープに値が入っていないかを確認し、入っていたらFlashスコープから取り出し特定のリクエスト属性へ格納します。 次にFlashスコープに入っているオブジェクトを破棄すれば、ひととおり実現できるでしょう。