您好我在下面收到此错误,但不确定如何解决此错误。
详情:
没有具有指定方法名称和方法的方法 参数类型或leaseService方法使用参数重载 ColdFusion无法可靠解密的类型。 ColdFusion发现0 与提供的参数匹配的方法。如果这是一个Java对象 并且您验证了该方法存在,请使用javacast函数 减少歧义。
消息:
找不到leaseService方法。
我在IIS 7上运行的Windows 7上使用fw1 3.1.1和Adobe CF 9。
我的框架 - 一个结构(简化)
控制器
-property.cfc
-lease.cfc
型号/豆类
-property.cfc
-lease.cfc
服务
-property.cfc
-lease.cfc
查看/属性
-detail.cfm
在我的财产管理员中,我这样调用租赁清单功能。
property propertyService;
property leaseService;
function detail(rc) {
rc.property = variables.propertyService.detail(id=rc.id);
rc.leases = variables.leaseService().list(propertyID=rc.id);
}
这是我的租赁服务:
component accessors=true {
function init( beanFactory ) {
variables.beanFactory = beanFactory;
return this;
}
function list(propertyID) {
var qData = new query();
qData.setDatasource(application.dsn);
qData.setName("qLease");
qData.addParam(name="propertyID", value="#rc.propertyID#", CFSQLTYPE="cf_sql_numeric");
qData.setSQL("
select l.id, l.fName, l.lName, l.leaseActive, l.leaseFrom, l.leaseTo, CONCAT(u.fname,' ',u.lname) pmName
from leases l inner join users u on l.pmID = u.id
where propertyID = :propertyID
order by LeaseTo DESC
");
qReturn = qData.execute();
result = qReturn.getResult();
return result;
}
}
任何建议都会非常感激。
谢谢你!答案 0 :(得分:2)
您正在调用leaseService
作为方法。这是一个变量。所以不要这样:
rc.property = variables.propertyService.detail(id=rc.id);
rc.leases = variables.leaseService().list(propertyID=rc.id);
这样做:
rc.property = variables.propertyService.detail(id=rc.id);
rc.leases = variables.leaseService.list(propertyID=rc.id);
请注意,我删除了()
HTH