|プログラムで別のページに遷移させるWebアプリケーションをプログラミングしていると、さまざまなタイミングで強制的に別のページに遷移させたい場面に遭遇します。フォームのSUBMIT先やURL変数の送信先のページにユーザーが直接リクエストしてきたので、入力ページ、またはリンク元ページに強制的に移動させたい。サーバー側のデータベース処理が終わった後、強制的に一覧ページに戻したい。ログイン処理やログアウト処理を行い次第、特定のページに強制的に切り替えたい。ユーザーが送信してきた値が不足していたので、用意したエラーページに強制的に切り替えたい。ColdFusionには<cflocation>タグが用意されています。このタグを使用すると、タグを記述した箇所でColdFusionの処理が停止し、指定したURLに移動するために、ブラウザに応答コード30xを戻し、リダイレクト(遷移)させることができます。下記の例は、データベースにデータを挿入(INSERT)するページの例です。ここでは2か所で<cflocation>タグが使われています。一つは、Form変数が存在するかをチェックして、Form変数が存在していないときに強制的に入力ページに戻す処理、そしてもう一つはデータベースへの登録処理が終わった後に、強制的に作品一覧ページに移動する処理です。addtoken="false"><cflocation>タグの処理が実行されると、ページの処理はその時点で中断し、リクエスト元のブラウザに応答コード30xで戻します。30xはリダイレクションを意味し、ブラウザはその応答コードを受け取ると、指定されたURLにリダイレクト(遷移)します。属性でセットできます。応答コードの詳細については、下記のwikipedia記事などを参照下さい。HTTPステータスコードのwikipedia記事)補足事項デフォルトの状態で<cflocation>タグを使用すると、指定した遷移先ページに移動した後に、URLの後ろにColdFusionのセッション情報が付加される場合があります。これは、<cflocation>タグが実行されたページが、セッションが有効なColdFusionアプリケーション内に置かれている時に発生します。http://127.0.0.1:8500/art_regist.cfm?CFID=4600&CFTOKEN=dd3fe92e894946bc-72B585EE-8C73-6E7B-1862F124627B7C2AColdFusionは、セッション機能の管理にブラウザのCookieを利用しますが、過去のブラウザや一部の携帯用ブラウザでリダイレクト時にCookie情報が付加されずセッションが維持できないため、その対応としてURLパラメーターにセッション情報を付加する方法が行われていました。このURLでセッションを維持する方法は、昨今のブラウザやスマートフォンではCookieが対応しているため、不要な事が多いです。資料・FAQ事例紹介ColdFusionユーザーグループ。