gpt4 book ai didi

Coldfusion 9动态调用方法

转载 作者:行者123 更新时间:2023-12-02 00:08:35 24 4
gpt4 key购买 nike

我正在尝试从已传递到引用另一个对象的对象的字符串构建方法调用。

通常在调用对象时我们会这样编写代码:

application.stObj.oNewsBusiness.getNews(argumentCollection=local.stArgs);

但是我所做的是创建一个包含对象名称、方法名称和参数集合的数组。

<cfscript>
local.stArgs = {};
local.stArgs.nNewsID = 19;
local.stArgs.sAuthor = "John";

local.aData = [];
local.aData[1] = local.stArgs;
local.aData[2] = "stObj.oNewsBusiness";
local.aData[3] = "getNews";
</cfscript>

但是我正在努力将所有这些重新组合为方法调用。

使用建议更新,但仍然存在问题

虽然 cfinvoke 似乎适用于:

<cfinvoke component="#application.stObj.oNewsBusiness#" method="#local.sMethod#" argumentcollection="#local.stArgs#" returnvariable="local.qData"></cfinvoke>

执行以下操作时不起作用:

<cfscript>
local.stArgs = local.aData[1];
local.sObject = local.aData[2];
local.sMethod = local.aData[3];
</cfscript>
<cfinvoke component="application.#local.sObject#" method="#local.sMethod#" argumentCollection="#local.stArgs#" returnvariable="local.qData"></cfinvoke>

它生成一个错误:

Could not find the ColdFusion component or interface application.stObj.oNewsBusiness

最佳答案

CFInvoke一般用于处理动态方法调用。

http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7e0a.html

CFInvoke 有一个 argumentcollection 属性,因此您可以按照您习惯的方式传递参数。

关于Coldfusion 9动态调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11032991/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com