Web開発FAQ

CGIのセッションについて

CGI ではひとつの処理で完結してしまいますので、DSPF のような連続した
流れの処理を組むことができません。
よくセッションの記憶とかクッキーへの書き込みを取り入れる手法を聞くのですが、
複雑でよく理解できません。
Enterprise Server ではどのようにしているのでしょうか?

Enterprise Server での CGI は基本的に外部HTMLテンプレートの方式を採用していますが、
このHTMLテンプレートの中に次のセッションに必要なフィールド値や HTMLテンプレートの
画面様式名(@FORMAT)を、隠しフィールド(HIDDEN) として埋め込みます。
この方法であれば1つのCGI であたかもDSPFを処理するPGM と同じように扱うことができ、
セッション管理は不要となります。
初期画面のときはこの処理、明細画面のときはこちらの処理という具合です。

このようにCGI は単なるDSPFの処理PGM として記述されることになります。
この手法はあらゆるCGI で有効なのですが、Web-Appの解説書ではほとんどこの便利な手法に
気づかれていません。