説明

他のすべての CFML コードの後、リクエストの最後に実行されます。

シンタックス

<cffunction name="onRequestEnd" returnType="void">
<cfargument type="String" name="targetPage" required=true/>
...
</cffunction>

関連項目

onRequestStartonRequestMethod summary、『ColdFusion アプリケーションの開発』の Application.cfc でのアプリケーションおよびイベントハンドラーの定義の Application.cfc によるリクエストの管理

パラメーター

ColdFusion は、次のパラメーターをこのメソッドに渡します。

パラメーター

説明

targetPage

Web ルートからリクエストされたページまでのパスです。

戻り値

このメソッドは値を返しません。cfreturn タグを使用しないでください。

使用方法

このメソッドには、onRequestEnd.cfm ページと同じ目的があります(使用するアプリケーション用の Application.cfc ファイルがある場合、onRequestEnd.cfm ページは使用できません)。このメソッドは、リクエストが終了する前に実行されます。したがって、ページコンテキストへのアクセス、および出力の生成が可能です。このメソッドは、パフォーマンスの測定値を収集するときや、ダイナミックなフッタ情報を表示するときに役立つ場合があります。このメソッドでは、リクエストされたページを呼び出す onRequest メソッドが Application.cfc ファイルに含まれている場合に限り、リクエストされたページの Variables スコープにアクセスできます。Application.cfc ファイルに onRequest メソッドがない場合でも、Request スコープ変数を使用して、リクエストされたページとの間でデータを共有することができます。このメソッドを明示的に呼び出した場合、ColdFusion はリクエストを終了しませんが、このメソッドコードを実行します。

注意:cfabort、cflocation または cfcontent タグを使用した場合は、OnRequestEnd ではなく OnAbort メソッドが呼び出されます。

次の例では、ユーザーがログインしたかどうかに基づいて表示される 2 つのフッタページの一方を表示します。Application.cfc の onRequestEnd メソッドには、次のコードが含まれています。

<cffunction name="onRequestEnd">
<cfargument type="String" name="targetPage" required=true/>
<cfset theAuthuser=getauthuser()>
<cfif theAuthUser NEQ "">
<cfinclude template="authuserfooter.cfm">
<cfelse>
<cfinclude template="noauthuserfooter.cfm">
</cfif>
</cffunction>

シンプルな authuserfooter.cfm ページは、次のコードで構成されています。

<cfoutput>
<h3>Thank you for shopping at our store, #theAuthUser#!</h3>
</cfoutput>

シンプルな noauthuserfooter.cfm ページは、次のコードで構成されています。

<cfoutput>
<h3>Remember, only registered users get all our benefits!</h3>
</cfoutput>

この例をテストするには、ユーザーログインのためのコードを実装します。または、onRequestStart の Application.cfc メソッドで次の行を使用して、または使用せずにこの例を試します。

<cfloginuser name="Robert Smith" password="secret" roles="customer">

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー