<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。我错过了什么?
答案 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。