【发布时间】:2012-07-17 08:57:14
【问题描述】:
在将 VARIABLES 范围与动态变量名一起使用时出现以下错误:
Element wlc_period is undefined in a Java object of type class coldfusion.runtime.VariableScope.
当我尝试运行这段代码时:
<cfparam name="wlc_period#y#" default="36">
<cfscript>
wlc_period = VARIABLES['wlc_period#y#'];
</cfscript>
但如果我使用evaluate(),它会起作用:
<cfscript>
wlc_period = evaluate('wlc_period#y#');
</cfscript>
在执行时,y 变量是一个空字符串,但代码会在循环中的其他地方使用,因此有时可以使用整数 1 - 5 填充。 p>
代码应该尝试访问 wlc_period,如果我只是做一个简单的转储,它就可以工作:
<cfparam name="wlc_period#y#" default="36">
<cfscript>
writedump(wlc_period);
</cfscript>
我宁愿使用 VARIABLES 范围而不是 evaulate(),我在这里遗漏了什么吗?
【问题讨论】:
-
您在错误中指定的变量与代码示例中的变量不同?这是误会还是我错过了什么?
-
是的,我可以补充说,运行以下是完美的
wlc_period = VARIABLES[ 'wlc_period#y#']; -
我有一长串变量,wlc_period、wlc_salary、wlc_mileage,我得到了每个变量的错误,我可能在测试过程中有点混淆,我会仔细检查并更新问题
标签: coldfusion scope eval