システムを構築するときに迫られる画面遷移として「新規」「更新」「削除」がある。
単純に3つのサブシステムを作るのではなく、2つでよいことに気がつく。
新規と更新、それと削除である。
つなわち更新(引数:データ)と削除(引数:条件)である。
更新システムが呼ばれたときに空のデータが渡されたならそれをセットする。これによって新規と更新が同時に行える。また、削除に関してはユニークな条件指定(キー番号)などができればよい。
更新のシステムからたいていの場合データファイルまたはデータベースの書き込みになるが、ユニークなキー番号があるかどうかでSQLならINSERTもしくはUPDATE判定でき(同時に行えるDBMSもある)、さらに遷移過程で何らかのフラグを立てておけばエラーメッセージを出すのか初回読み込みなのか判定ができる。
このとき完了画面をポストされた画面で出さないことが重要である。なぜならこの場合、同一データが再送信される危険性があるからだ。
このような場合には302で転送しておけば再読み込みされてもメッセージが表示されるかリスト表示などに戻るだけである。