首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cfinvoke使用两种不同的方法

cfinvoke使用两种不同的方法
EN

Stack Overflow用户
提问于 2018-10-01 22:03:52
回答 2查看 77关注 0票数 0

我有两个cfinvoke,我需要在一个cfm中使用它们。

代码语言:javascript
复制
<cfinvoke component="cfc/queries" method="getProjects"  searchString="#Session.Auth.pref_name#" view="#Session.Auth.view#" returnvariable="Projects"> 
<cfinvoke component="cfc/queries" method="projectDetails"  searchString="#URL.id#" projectsuffix="#URL.suffix#" returnvariable="Details">

返回两个查询,但是当我以这种方式编写代码时,它不起作用。我仍然是ColdFusion的新手,我不知道如何解决这个问题。

EN

回答 2

Stack Overflow用户

发布于 2018-10-01 22:36:01

因为这两个函数都在同一个CFC中,所以您不希望使用cfinvoke,因为每次调用它时它都会重新创建对象。相反,请使用newcreateObject()

代码语言:javascript
复制
<cfset queries = new location.to.cfc.queriesCFC()>

然后,您可以只引用这些函数。

代码语言:javascript
复制
<cfset Projects = 
    queries.getProjects(
        searchString=session.Auth.pref_name, 
        view = session.Auth.view
    )
>
<cfset Details = 
    queries.projectDetails(
        searchString=url.id, 
        projectsuffix=url.suffix
    )
>

在传递url.idurl.suffix之前,您可能希望对它们进行清理。这将有助于解决注入问题。

getProjects()是做什么的?

票数 -1
EN

Stack Overflow用户

发布于 2018-10-02 00:29:30

我们可以像下面这样写,

代码语言:javascript
复制
<!--- Object creation --->
<cfset query = CreateObject("component", "cfc.queries")/>

<!--- Function call --->
<cfset Projects = query.getProjects( searchString = session.Auth.pref_name, view = session.Auth.view )>
<cfset Details = query.projectDetails( searchString = session.Auth.pref_name, view = session.Auth.view )>
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52592889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档