2017-09-14 3 views
1

Ich bin ein Neuling zu ColdFusion, ich habe eine result.cfm Seite erstellt, jetzt möchte ich nur einige Aktionen in Application.cfc ausführen, wenn der Benutzer /result.cfm aufruft. So etwas wie unten:Wie man eine Anfrage in ColdFusion behandelt

<cfif 'if the request is for result.cfm'> 
 
<!-- do some action --> 
 
</cfif>

Gibt es eine Möglichkeit die Anfrage zu bearbeiten?

+2

Warum möchten Sie etwas in 'Application.cfc' machen? für eine bestimmte Seite? Fügen Sie diese Logik einfach der Seite selbst hinzu - 'result.cfm'. Hier finden Sie eine Dokumentation zu [Request Lifecycle Events] (http://www.learncfinaweek.com/week1/Application_cfc/) in ColdFusion. –

Antwort

0
<cfif REFindNoCase("^/result.cfm", CGI.SCRIPT_NAME)> 
    <!--- do some action ---> 
</cfif> 

oder, wenn Sie mehr pages passen wollen und subfolders Sie tun können:

<cfset patterns = [ 
    "^/foo/", 
    "^/bar/", 
    "^/etc/", 
    "^/login.cfm", 
    "^/baz.cfm" 
] /> 

<cfif REFindNoCase("(" & ArrayToList(patterns, ")|(") & ")", CGI.SCRIPT_NAME)> 
    <!--- do some action ---> 
</cfif> 
0

Ein CFC ist das, was Coldfusion eine Komponente aufruft, aber es ist im Wesentlichen ein Objekt mit Methoden. Wenn eine Seite Ihrer Site angefordert wird, sendet coldfusion den Namen Ihrer Seite an die onRequest-Methode Ihrer Application.cfc. Standardmäßig diese Methode etwas wie folgt aussieht ...

<cffunction name="OnRequest" access="public" returntype="void" output="true"> 

    <cfargument name="TargetPage" type="string" required="true" /> 

    <cfinclude template = "#arguments.targetPage#" /> 

</cffunction> 

Die TargetPage ist der relative Pfad zu der Seite, die angefordert wurde.

Ich bin mir nicht sicher, was Sie tun möchten, aber Sie können entweder einfach die Seite result.cfm erstellen und Ihre Kodierung dort eingeben, oder wenn Sie möchten, können Sie den Anruf abfangen, indem Sie Ihren eigenen erstellen onRequest Methode und setzen sie es in Ihrem 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> 

Beachten sie, dass onRequest in Application.cfc nicht die einzige Methode ist, so dass sich lohnt, nach oben. Beachten Sie auch, dass Sie arguments.targetPage ausgeben können, wenn Sie dies versuchen, um zu überprüfen, ob der Schrägstrich mit der Anfrage geliefert wird oder nicht (

)
Verwandte Themen