结构键不起作用的Cfparam

时间:2012-07-02 15:20:40

标签: coldfusion structure

<cfparam name="airInfo.leaving"     type="struct" default="#structNew()#">
<cfparam name="flightInfo.depart"   type="string" default="departing">
<cfparam name="flightInfo.arrive"   type="string" default="arriving">

<cfset flightInfo   = airInfo.leaving>
<cfset fromInfo     = flightInfo.depart>
<cfset arriveInfo   = flightInfo.arrive>

<cfdump var="#flightInfo#">

这应该有效...我想,但我一直在收到错误,说在flightInfo中未定义离开。我知道我可以使用structKeyExists(),但这只是一个更大的应用程序的片段。我无法检查该mannor中的所有变量,并且确实需要使用cfparam。我错过了什么?

1 个答案:

答案 0 :(得分:4)

也许第二和第三个cfparams应该设置airInfo.depart和airInfo.arrive而不是flighInfo.depart和flightInfo.arrive。

编辑:我应该提一下你的flightInfo变量被你在第一个cfparam中创建的空结构覆盖,这就是你得到未定义错误的原因。

如果你的意图是默认使用离开和到达的flightInfo,你应该在airInfo.leaving中设置这些变量,如airInfo.leaving.depart和airInfo.leaving.arrive,然后将airInfo.leaving分配给flightInfo。