Slim3 PRGパターン
上記のBlogを見て、PRGパターンとはなんだろう?と思って調べてみた。
PRGパターンとは, POSTメソッドによるリクエストに対してリダイレクトを返し,
GETメソッドの応答として遷移先の画面を表示するというものです。
ということらしい。
因みに上記の文章は、ぐぐったらTeedaのページが出てきたので、そこから引用した。
Teeda - Extension - 概念 - PRGパターン
Slim3もサンプルを見ると、PRGパターンになっているように思う。
TweetControllerがpostした後、IndexControllerにredirectし、getを行う。
そして、それをサポートするような機能だが、自分が知る限りだと無い。
そんな機能があるフレームワークがあるのか!と思い調べたらRailsが出てきた。
Railsのflashというのが、そんな感じの機能のようだ。
flashの使い方:Railsの基礎知識 - 久保清隆のブログ
Railsは使ったことが無いので、よく知らないのだが、上記のBlogによるとsessionに保存されているようだ。
ということは、こんな感じか!
import org.slim3.controller.Controller;public abstract class AbstractController extends Controller {
protected
T flashScope(CharSequence name) throws NullPointerException {
T t = super.sessionScope(name);
super.removeSessionScope(name);
return t;
}protected void flashScope(CharSequence name, Object value)
throws NullPointerException {
super.sessionScope(name, value);
}
}
・・・。
まぁ、ただ単に呼び出した後、removeしているだけという・・・。
Railsのflashは、もっと格好良いんだろうな!と思いつつ、自分にはこれが限界ですorz