<cfparam name="instance.params.sel_isCriteriaChanged" default="false">
这里的实例是一个全局结构但是&#34; sel_isCriteriaChanged&#34;使用表单变量创建的内部。但在某种形式我没有那个变量。在这种情况下,它将是未定义的。 那么在这种情况下如何将变量设置为false作为默认值 我在CFC文件中使用此变量
答案 0 :(得分:0)
如果我正确理解了这个问题,你会有这样的事情:
<cfparam name="instance.params.sel_isCriteriaChanged" default="false">
<cfset instance.params = {}>
<cfloop collection="#FORM#" item="key">
<cfset instance.params[key] = FORM[key]>
</cfloop>
但cfparam在这里被覆盖了。只需确保始终定义表单值:
<cfparam name="FORM.sel_isCriteriaChanged" default="false">
答案 1 :(得分:0)
如果我正确理解您的问题,您可能会执行以下操作:
<cfset instance.params.sel_isCriteriaChanged = structKeyExists(form, "sel_isCriteriaChanged") ? form.sel_isCriteriaChanged : false />
这是:
的简写<cfif structKeyExists(form, "sel_isCriteriaChanged")>
<cfset instance.params.sel_isCriteriaChanged = form.sel_isCriteriaChanged />
<cfelse>
<cfset instance.params.sel_isCriteriaChanged = false />
</cfif>
我喜欢三元运算符? :
的简洁性,如果可能的话,我尽量避免使用<cfparam>
。希望这会有所帮助。