我试图找出url变量是否存在,如果不存在,请确保它不是空的。
这不起作用:
<cfif IsDefined('URL.affiliateId') and is not "">
//
</cfif>
答案 0 :(得分:15)
<cfif structKeyExists(url, 'affiliateID') and trim(url.affiliateID) neq "">...</cfif>
答案 1 :(得分:4)
您可以使用&lt; cfparam&gt;来简化逻辑。确保URL变量始终存在。然后,您只需要1,而不是2个条件。
<cfparam name="URL.affiliateId" type="string" default="" />
<cfif trim( URL.affiliateId ) is not "">
do stuff here
</cfif>
答案 2 :(得分:1)
忽略大多数空格
<cfif IsDefined('URL.affiliateId') and len(trim(URL.affiliateId))>
value is defined and not empty
</cfif>
......或者
<cfif IsDefined('URL.affiliateId') and len(trim(URL.affiliateId)) gt 0>
value is defined and not empty
</cfif>
答案 3 :(得分:0)
<cfif IsDefined('URL.affiliateId') and URL.affiliateId neq "">
//
</cfif>
答案 4 :(得分:0)
我将总结答案并提供我的版本:
<cfparam name="URL.affiliateId" type="string" default="" />
<cfif len(trim(URL.affiliateId))>
...do something with the affiliate...
</cfif>
您不需要structKeyExists或isDefined,最好避免使用它们。此外,你不需要'len()'之后的'大于零'部分。