Inheritance ColdFusion继承检查

Inheritance ColdFusion继承检查,inheritance,reflection,coldfusion,Inheritance,Reflection,Coldfusion,如何检查一个java对象是否使用ColdFusion扩展了另一个java对象 <cffunction name="render" access="public" returntype="void" output="true"> <cfargument name="page" type="any" required="true" /> <cfset var model = arguments.page.getModel() /> &l

如何检查一个java对象是否使用ColdFusion扩展了另一个java对象

<cffunction name="render" access="public" returntype="void" output="true">
    <cfargument name="page" type="any" required="true" />
    <cfset var model = arguments.page.getModel() />


    <cfif <!--- model extends SpecialBaseModel ---> >
        <!--- Do Something --->
    </cfif>

</cffunction>


所讨论的java对象不是用
createObject
cf_object
创建的。我只有扩展类的名称空间和类名,而不是表示该类的实际实例或类对象。

您没有搜索cf文档吗

给你:


如果你想疯狂地使用反射,还有一些问题。

如果你需要用这种方式编写代码,我怀疑你的域模型可能有一些问题,或者至少在{model}和{{SpecialBaseModel}中存在继承问题。然后你在{{if}}块中做什么?如果模型是特殊类型的,我只是渲染一个链接。
IsInstanceOf
对我不起作用。我认为这是因为所讨论的对象是一个Java对象,它不是用
CreateObject
方法或
cf\u object
标记创建的。它是如何创建的?IIRC,IsInstanceOf是类加载器敏感的。因此,对于使用不同于主CF引导类加载器的类加载器创建的java对象,它可能会失败。@Leigh,我认为这就是发生的情况。我认为这两个对象是用不同的类加载器创建的。@StevenWexler-可能,但您仍然没有告诉我们您是如何创建对象的;-)你能用一个简单的例子来更新你的问题吗?我们需要一个具体的例子来提供进一步的建议。