如何确保cfobject变量是函数的本地变量?

leo*_*orn 2 coldfusion

假设常规.cfm文件中有以下代码,而不是 CFC:

<cffunction name="myFunction"> <cfobject type="java" action="create" class="path.to.my.java.class" name="myJavaVariable"> </cffunction>

什么是创建对象的范围?我感觉它不仅限于功能范围.如果是这样,如何让它成为本地的?以下工作会怎样?

<cfset var myJavaVariable = ""> <cfobject ... name="myJavaVariable">

编辑:我忘了说我在Coldfusion MX 7下,因为它确实阻止了网络上的一些有用的解决方案.

我找到了一个解决方法,其中一个创建一个假的本地范围(<cfset var local = StructNew()>).它甚至可以用于这样的标记,因为你可以把返回变量作为local.someVar.

Ada*_*ron 9

我会问你为什么要使用它<cfobject>,而不是更明显的简单任务:

var myJavaVariable = createObject("java", "path.to.my.java.class");
Run Code Online (Sandbox Code Playgroud)

那不是更自然的代码吗?