在公布的APPLICATION变量中,唯一能够在其他CFC和CFM中读取的只有APPLICATIONNAME, 即使你在APPLICATION.CFC中赋值了的变量如DATASOURCE,但不能读取。今天弄了我一整天。当初只是想在存储过程中调用APPLICATION.CFC中赋值的DATASOURCE,弄死都读不出来,一直报错“ELEMENT DATASOURCE IS UNDEFINED IN APPLICATION“(说在APPLICATION中没有定义DATASOURCE元素).GOOGLE啊GOOGLE, 终于找到了。马上记录下了。原来要用到COLDFUSION的非正式公布的特性。
先看看APPLICATION.CFC
<cfcomponent>
<cfset this.name=hash(getCurrentTemplatePath())/>
<cfset this.datasource= "Directory"/>
<cfset this.sessionManagement="true"/>
<cfset this.sessionTimeout=createTimeSpan( 0, 0, 0, 30)/>
</cfcomponent>
再看看如何调用DATASOURCE
<cfstoredproc procedure="spListRegions" datasource="#application.getApplicationSettings().datasource#">
PS: 在APPLICATION.CFM中可以用REQUEST.DATASOURCE来定义,以及用#REQUEST.DATASOURCE#来读取.但我不用APPLICATION.CFM.
问题:汉字显示为乱码
解决方案:用记事本打开,编码为缺省的UTF-8, 保存 OK
体会:什么乱七八糟的怪事啊KAO