我需要将一个结构传递给一个方法,但它并不总是被定义的。
有没有这样的东西能行得通?
<cfparam name="system_message" default={}>当我尝试这样做时,我得到的是,传递给函数的参数不是struct类型。
另外,我意识到,我可以这样做:
<cfif ! isdefined("system_message")>
<cfset system_message = {}>
</cfif>但我想知道是否有一种更短的方法,使用cfparam。
谢谢你的帮助!
发布于 2012-01-28 00:45:50
下面是什么:
<cfparam name="system_message" default="#StructNew()#">CF8不喜欢花括号版本。
发布于 2012-01-28 00:25:49
你已经很接近了。你需要把它写成:
<cfparam name="system_message" default="#{}#">发布于 2012-01-28 01:50:31
如果要将其传递给方法,则应考虑在<cffunction>调用中使用<cfargument>,而不是使用更具全局性的<cfparam>。同样的"default“属性也适用。这样你就知道你的变量只存在于函数的参数范围内,更好的封装!
<cfargument name="system_message" default="#structNew()#">https://stackoverflow.com/questions/9036428
复制相似问题