2017-09-14 7 views
1

Je suis un débutant à ColdFusion, j'ai créé une page result.cfm, maintenant je veux juste faire quelques actions dans Application.cfc lorsque l'utilisateur appelle /result.cfm. Quelque chose comme ci-dessous:Comment traiter une demande dans ColdFusion

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

Est-il possible de gérer la demande?

+2

Pourquoi voulez-vous faire quelque chose dans 'Application.cfc' pour une page spécifique? Ajoutez simplement cette logique à la page elle-même - 'result.cfm'. Voici une documentation sur [Request Lifecycle Events] (http://www.learncfinaweek.com/week1/Application_cfc/) dans ColdFusion. –

Répondre

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

ou si vous voulez faire correspondre plus pages et subfolders vous pourriez faire:

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

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

Un CFC est ce que Coldfusion appelle un composant, mais il est essentiellement un objet avec des méthodes. Quand une page de votre site est demandée, coldfusion envoie le nom de votre page à la méthode onRequest de votre Application.cfc. Par défaut cette méthode ressemble à ceci ...

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

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

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

</cffunction> 

Le TargetPage est le chemin relatif à la page qui a été demandée. Je ne suis pas sûr de ce que vous essayez de faire faire, mais vous pouvez simplement créer la page result.cfm et faire votre codage là-bas, ou si vous avez besoin de vous pouvez intercepter l'appel en créant le vôtre méthode onRequest et de le mettre dans votre 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> 

Notez que onRequest n'est pas la seule méthode application.cfc, de sorte que ça vaut regarder vers le haut. Notez également que vous pouvez générer des arguments.targetPage lorsque vous essayez de vérifier si la barre oblique est accompagnée ou non de la requête (je ne me souviens pas)