我在我的 ColdFusion 应用程序中广泛使用组件,并且经常遇到我的组件未定义的错误,尽管它们确实已定义。
我在 Application.cfc 文件中定义组件。
<cfset cfcList = "component1,component2,component3">
<cfloop list="#cfcList#" index="local.thisCfcName">
<cfset application.cfc[local.thisCfcName] = createObject(
"component",
"#application.cfcPath##local.thisCfcName#"
)>
</cfloop>
我已经能够确定:在我的 onRequestStart 函数中,我在遇到'init' url 变量时重新启动应用程序:
<cfif structKeyExists(url, "init")>
<cfset onApplicationStart()>
</cfif>
似乎在应用程序重新初始化时,任何其他尝试访问该组件的用户都会收到以下错误(失败的组件可能会有所不同)。
[diag]=元素 CFC.COMPONENT1 在类 [Ljava.lang.String; 类型的 Java 对象中未定义;引用为 ''
我在这里做错了什么可以解决这个问题吗?我每天都会多次收到这些错误,并且必须有解决方案,但我无法找到有关此特定问题的任何信息。