我的公司与 ColdFusion 合作,并且多年来在不同的变体中遇到了这个问题。是时候解决它了。
场景非常简单:
<cfparam name="session.check" default="0">
<cfif NOT isDefined('session.check') OR
session.check IS 0>
<cfset ok=1>
</cfif>
现在 ColdFusion 抛出一个错误:
SESSION 中未定义元素 CHECK。错误发生在第 18 行。
对于那些可以从中读取内容的人,这里是详细的堆栈跟踪:
Coldfusion.runtime.UndefinedElementException:元素检查在会话中未定义。在coldfusion.runtime.CfJspPage.resolveCanonicalName(CfJspPage.java:1694) 在coldfusion.runtime.CfJspPage._resolve(CfJspPage.java:1612) 在coldfusion.runtime.CfJspPage._resolveAndAutoscalarize(CfJspPage.java:1747) 在coldfusion.runtime。 CfJspPage._resolveAndAutoscalarize(CfJspPage.java:1740) 在 cfindex2ecfm123677868._factor9(C:\path\index.cfm:18) 在 ...
如果使用 cfparam 或者只是一个 cfset 并不重要。此外,这不是一个简化的示例,这个错误发生在我们的服务器上。在设置和读取的变量之间没有单行。
我们正在运行 ColdFusion 8.0.1.195765。有任何想法吗?
提前致谢!