У меня возникла странная проблема с моим кодом ColdFusion 10. Я новичок в ColdFusion, так что полегче со мной. Причина, по которой это странно, заключается в том, что этого не происходит в более старых версиях этой платформы (например, MX 7).
Сначала немного информации:
У меня две среды. ColdFusion 10 и ColdFusion MX 7 (IIS 7 и IIS 5 соответственно). В среде ColdFusion 10 у меня есть файл Application.cfc
со следующим оператором...
<cfset CompanyLogoText = "Acme Company">
Этот файл Application.cfc
находится в корневом каталоге (mydomain.com). У меня также есть файл CFM в подпапке корневого веб-сайта по адресу mydomain.com/pages/default.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>
Страницы/Default.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>