我有两个cfinvoke,我需要在一个cfm中使用它们。
<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的新手,我不知道如何解决这个问题。
发布于 2018-10-01 22:36:01
因为这两个函数都在同一个CFC中,所以您不希望使用cfinvoke,因为每次调用它时它都会重新创建对象。相反,请使用new或createObject()。
<cfset queries = new location.to.cfc.queriesCFC()>然后,您可以只引用这些函数。
<cfset Projects =
queries.getProjects(
searchString=session.Auth.pref_name,
view = session.Auth.view
)
>
<cfset Details =
queries.projectDetails(
searchString=url.id,
projectsuffix=url.suffix
)
>在传递url.id和url.suffix之前,您可能希望对它们进行清理。这将有助于解决注入问题。
getProjects()是做什么的?
发布于 2018-10-02 00:29:30
我们可以像下面这样写,
<!--- 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 )>https://stackoverflow.com/questions/52592889
复制相似问题