在ColdFusion中,如何确定查询字符串中是否存在变量而不会尝试检查错误?
答案 0 :(得分:29)
有两种选择。
第一种是使用cfparam来定义默认值,例如:
<cfparam name="url.varname" type="string" default="" />
这可确保您始终可以引用url.varname
第二种方法是使用isDefined或structKeyExists来测试变量的存在:
<cfif isDefined("url.varname") and url.varname eq 42> do something </cfif>
或
<cfif structKeyExists(url, "varname") and url.varname eq 42> do something </cfif>
答案 1 :(得分:1)
我在很多地方都使用过这种方法。
在页面顶部:
<cfparam name="request.someVal" default="request.defaultVal">
稍后在页面或自定义标记中,检查request.someVal变量的值,而不用担心它会崩溃,因为它有一个默认值。
<cfif ("request.someVal" eq "something")>
...
</cfif>
.
.
.
答案 2 :(得分:0)
在<cfscript>
中,您可以
param url.varname; // throws error if it does not exist
param url.varname = ""; // sets value it was not already set