PRGパターン
名前しか知らなかった.以下の説明が分かりやすかったのでメモ.
PRGパターンとは、POST-REDIRECT-GETの組み合わせでHTTPでsubmitされたデータを処理する技法のことです。従来のforwardベースのsubmitでは以下のような問題がありました。
* URLの表示がずれる
* POSTした後に画面がRELOADされたときに再度POSTされてしまう
* 戻るボタン
* RELOADしたときにブラウザの警告メッセージが出るこのような問題への対処のための技法がPRGパターンです。
PRGでは、POSTとGETで役割を分担しています。POSTでサーバ側のModelの状態を更新、REDIRECTでGETへ受け渡し、GETでは画面の描画というように分かれています。forwardベースでRELOADされたときにPOSTされてしまうのは POSTで使ったresponseをそのまま使用しているためです.PRGではPOSTで使ったresponseはそのまま使わず、GETで常に responseを描画時に返すようになります.このようにしておくと、RELOADボタンが押下されても、GETメソッドでかつ空のパラメータが飛ぶため、Modelの状態を意図しない形で更新することがなくなります.
Teeda/gettingStarted - SeasarWiki