gpt4 book ai didi

coldfusion - CF 10 与 CF MX7 中的可变范围

转载 作者:行者123 更新时间:2023-12-03 11:31:17 26 4
gpt4 key购买 nike

我的 ColdFusion 10 代码遇到了一个奇怪的问题。我是 ColdFusion 的新手,所以放轻松。之所以奇怪,是因为它似乎不会出现在该平台的旧版本(即 MX 7)中。

先来一点信息:

我有两个环境。 ColdFusion 10 和 ColdFusion MX 7(分别为 IIS 7 和 IIS 5)。在 ColdFusion 10 环境中,我有一个 Application.cfc带有以下语句的文件...

<cfset CompanyLogoText = "Acme Company">

Application.cfc文件位于 Web 根目录 (mydomain.com) 中。我在 mydomain.com/pages/default.cfm 的 Web 根目录的子文件夹中也有一个 CFM 文件。 .它包含以下标记...
<cfoutput><p>#CompanyLogoText#</p></cfoutput>

问题

当我导航到 mydomain.com/pages/default.cfm ,我从 Coldfusion 得到一个错误。错误是“变量 COMPANYLOGOTEXT 未定义”。

奇怪的部分

我在 ColdFusion MX 7 中没有收到此错误。唯一的区别是 CF MX 7 环境使用 Application.cfm文件,但具有相同的确切行。

问题

我如何获得 pages/default.cfm文件以查看我的变量 CompanyLogoText在 CF 10 环境中?

这是完整的标记

应用程序.cfc
<cfcomponent>
<cfset This.name = "test_cf">
<cfset This.Sessionmanagement="yes">
<cfset This.Sessiontimeout="#createtimespan(0,0,10,0)#">
<cfset This.applicationtimeout="#createtimespan(5,0,0,0)#">
<cfset This.setclientcookies="no" >
<cfset This.clientmanagement="no">


<cffunction name="onApplicationStart">

<cfset CompanyLogoText = "Acme Company">

</cffunction>



<cffunction name="onRequestStart">
<cfargument name="requestname" required=true />
<cfset CompanyLogoText = "Acme Company">


</cffunction>


</cfcomponent>

页数/默认.cfm
<cftry>

<cfoutput><p>#CompanyLogoText#</p></cfoutput>

<cfcatch>

<p>Could not read CompanyLogoText<br/><br/>

<cfoutput>
<br/>Message: #cfcatch.message#
<br/>Details: #cfcatch.detail#.

</cfoutput>

</cfcatch>

</cftry>

最佳答案

这就是Application.cfm之间的区别和 Application.cfc
使用 onRequest() , 设置变量,然后 cfinclude目标文件。只有这样才能分享variables范围。

https://wikidocs.adobe.com/wiki/display/coldfusionen/onRequest

例如

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

<cfinclude template="globalVars.cfm">

<cfset variables.foo = "bar">

<cfinclude template="#Arguments.targetPage#">
</cffunction>

引用: CF8: Migrating from Application.cfm to Application.cfc

Put in the onRequest method any code that sets Variables scope variables and add a cfinclude tag that includes the page specified by the method's Arguments.Targetpage variable.

关于coldfusion - CF 10 与 CF MX7 中的可变范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22413681/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com