Coldfusion 通过代理调用函数

Coldfusion 通过代理调用函数,coldfusion,Coldfusion,我正在尝试创建一个cf组件来代理另一个组件。目前,代码如下所示:(为了示例而简化): 正如你所看到的,这是非常直接的。我在初始化时传入目标对象,然后使用代理方法拦截函数调用。我使用的是cfscript,不想使用cfinvoke,所以我使用这种方法 然后,我按如下方式调用代理: var local.proxy = new ab.MyFuseboxProxy( myFusebox ); var local.dump = local.proxy.do ( action='display.body',

我正在尝试创建一个cf组件来代理另一个组件。目前,代码如下所示:(为了示例而简化):

正如你所看到的,这是非常直接的。我在初始化时传入目标对象,然后使用代理方法拦截函数调用。我使用的是cfscript,不想使用cfinvoke,所以我使用这种方法

然后,我按如下方式调用代理:

var local.proxy = new ab.MyFuseboxProxy( myFusebox ); 
var local.dump = local.proxy.do ( action='display.body', contentvariable="body" );
但是,当我执行上述代码时,会出现以下错误:

传递给do函数的操作参数不是字符串类型

如果将组件名称指定为此参数的类型,则可能无法创建组件的定义文件 找到或无法访问

C:/ColdFusion10/cfusion/wwwroot/fusebox5/myFusebox.cfc中出现错误:第301行

错误报告在目标组件上,因此似乎正在调用函数,并传递了参数,但类型未被保留/识别为字符串


有人能告诉我哪里做错了,或者我如何保留参数类型吗?

是的,我怀疑不是这样:

var local.returnVal = local.function( arguments );
你是说:

var local.returnVal = local.function(argumentCollection=arguments );
当前代码将参数作为第一个参数传递,而不是像最初传递时那样传递

var local.returnVal = local.function(argumentCollection=arguments );