测试变量是组件还是布尔值

时间:2016-10-07 09:48:22

标签: coldfusion coldfusion-9

我试图找出如何测试组件的功能是否返回组件或布尔值为假。

例如,组件的查找方法如

<cfset hotel = oHotel.findById(1200) />
<cfif  hotel >
 ...
</cfif>

如果找到酒店,则返回组件,否则返回false。 编写此类代码通常是否可以,或者我应该以另一种方式写入cfif吗?

3 个答案:

答案 0 :(得分:4)

使用IsValid()功能如下

<cfset hotel = oHotel.findById(1200) />

<cfif IsValid("component",hotel)> //Hotel found
    <!--- Code to perform if it is Component --->
<cfelse>
    <!--- Code to perform if it is not a Component --->
</cfif>

答案 1 :(得分:2)

试试这个:

<cfif isBoolean( hotel )>
    ....
</cfif>

但是,如果没有匹配ID的酒店,我建议您findById()返回NULL。然后你会用

<cfif !isNull( hotel )>
    ....
</cfif>

答案 2 :(得分:1)

或者,IsSimpleValue()可用于确定变量是否是......一个简单的值。也就是说,数组,结构,查询或组件。

  

<强>返回
  如果value是字符串,数字,布尔值或日期/时间值,则为True;错,否则。

<cfset hotel = oHotel.findById(1200) />
<cfif  IsSimpleValue(hotel)>
  <!--- it is a simple value, i.e., NOT a component --->
</cfif>