<cfif ISDEFINED("CALLER.VARIABLES.STRFUNCNAME")>
<cfparam name="strFuncName" default="#EVALUATE(CALLER.VARIABLES.STRFUNCNAME)#" />
<cfelse>
<cfparam name="strFuncName" default="" />
</cfif>
此代碼位於我們的CustomTags之一中,並在EVALUATE行上發生錯誤。我不確定這甚至是可能的。ColdFusion:isdefined,但引發未定義錯誤
我可以從調用頁面做到這一點,看看該變量的定義:
<cfset VARIABLES.strFuncName = "strFuncName#intModule#"> <!--- intModule = 1188 --->
#VARIABLES.strFuncName#: #EVALUATE(VARIABLES.strFuncName)# <!--- strFuncName1188: Main --->
<CF_CUSTOMTAG> <!--- Tell me Variable strFuncName1188 is undefined. --->
注意評估呼叫 – 2011-12-21 18:40:56
這工作中的單引號。你能解釋一下嗎?我還發現,以另一種方式工作(請參閱我的文章)... – Brad 2011-12-21 18:49:27
它的工作原理是評估採用傳遞給它的字符串,並嘗試將該字符串解釋爲動態表達式。使用引號,要傳遞的字符串是變量的名稱。沒有引號,字符串就是變量的內容。老實說,它看起來並不像你甚至需要eval,因爲字符串是靜態的。 – 2011-12-21 18:52:50