私はresult.cfm
ページを作成しましたが、ユーザーが/result.cfm
を呼び出したときに、Application.cfc
でいくつかのアクションを実行したいと思うColdFusionの初心者です。以下のような何か:ColdFusionでリクエストを処理する方法
<cfif 'if the request is for result.cfm'>
<!-- do some action -->
</cfif>
リクエストを処理する方法はありますか?
私はresult.cfm
ページを作成しましたが、ユーザーが/result.cfm
を呼び出したときに、Application.cfc
でいくつかのアクションを実行したいと思うColdFusionの初心者です。以下のような何か:ColdFusionでリクエストを処理する方法
<cfif 'if the request is for result.cfm'>
<!-- do some action -->
</cfif>
リクエストを処理する方法はありますか?
<cfif REFindNoCase("^/result.cfm", CGI.SCRIPT_NAME)>
<!--- do some action --->
</cfif>
たり、pages
よりsubfolders
を一致させたい場合は、あなたが行うことができます:
<cfset patterns = [
"^/foo/",
"^/bar/",
"^/etc/",
"^/login.cfm",
"^/baz.cfm"
] />
<cfif REFindNoCase("(" & ArrayToList(patterns, ")|(") & ")", CGI.SCRIPT_NAME)>
<!--- do some action --->
</cfif>
A CFCは、ColdFusionコンポーネントと呼ぶものであるが、それは基本的にメソッドを持つオブジェクトです。あなたのサイトの任意のページが要求されると、ColdFusionはページの名前をApplication.cfcのonRequestメソッドに送信します。デフォルトでは、このメソッドは次のようになります。
<cffunction name="OnRequest" access="public" returntype="void" output="true">
<cfargument name="TargetPage" type="string" required="true" />
<cfinclude template = "#arguments.targetPage#" />
</cffunction>
TargetPageは、要求されたページへの相対パスです。
あなたは何をしようとしているのか分かりませんが、result.cfmページを作成してコーディングするか、必要に応じて自分で作成してコールを傍受することができますonRequestメソッドとonRequestがApplication.cfcの中に唯一の方法ではないので、それは見上げ価値があることをあなたのApplication.cfc
<cffunction name="OnRequest" access="public" returntype="void" output="true">
<cfargument name="TargetPage" type="string" required="true" />
<cfif arguments.targetPage is "requestresult.cfm">
<!--- Do something else --->
<cfelse>
<cfinclude template = "#arguments.targetPage#" />
</cfif>
</cffunction>
ノートにそれを置きます。 スラッシュがリクエストに含まれているかどうかを二重にチェックするときにarguments.targetPageを出力することもできます。
なぜ「Application.cfc」で何かしたいのですか?特定のページのために?そのロジックをページ自体に追加するだけです - 'result.cfm'。 ColdFusionの[Request Lifecycle Events](http://www.learncfinaweek.com/week1/Application_cfc/)に関するドキュメントがあります。 –