假设以下代码位于常规.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

最佳答案

我想问一问,为什么您完全使用<cfobject>,而不是更简单的简单分配:

var myJavaVariable = createObject("java", "path.to.my.java.class");


那不是更自然的代码吗?

关于coldfusion - 如何确保cfobject变量在函数本地?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22218991/

10-11 08:58