Templates 奇怪的coldfusion错误:“;0“;

Templates 奇怪的coldfusion错误:“;0“;,templates,coldfusion,Templates,Coldfusion,我有一个页面,上面有一些重复了好几次的代码。我将代码分解成一个模板文件,并包含模板文件以避免重复。然而,我得到了一个最奇怪的错误-常规调试coldfusion错误显示为“以下信息是供网站开发人员用于调试目的的。”和“处理请求时出错”。。。但通常有错误消息的部分只显示“0”。(如果我在堆栈跟踪部分看到“java.lang.ArrayIndexOutOfBoundsException:0”…)这是什么意思 除此之外,我从未见过像这样的coldfusion错误,也不明白它指的是什么,我很惊讶我一开始就

我有一个页面,上面有一些重复了好几次的代码。我将代码分解成一个模板文件,并包含模板文件以避免重复。然而,我得到了一个最奇怪的错误-常规调试coldfusion错误显示为“以下信息是供网站开发人员用于调试目的的。”和“处理请求时出错”。。。但通常有错误消息的部分只显示“0”。(如果我在堆栈跟踪部分看到“java.lang.ArrayIndexOutOfBoundsException:0”…)这是什么意思

除此之外,我从未见过像这样的coldfusion错误,也不明白它指的是什么,我很惊讶我一开始就遇到了错误。页面正在运行,我将代码准确地复制到另一个文件中,并使用“cfinclude”将其包括在内。。。如果我把代码复制回去,它就可以正常工作了。我认为cfinclude只是将文件中的代码直接插入到页面中——我怎么能在cfinclude中得到一个与文字代码不同的错误呢?关于cfinclude的工作原理,我遗漏了什么

更新:问题似乎在于嵌套的cfoutput。我有点像:

<cfoutput group="myGroup">
   <cfoutput group="myNestedGroup">
      ... lots of code ...
   </cfoutput>
</cfoutput>

... 很多代码。。。
这就是抛出错误的原因。你知道为什么吗

更新2:


这似乎是一个Coldfusion错误。有人能想出一个解决办法吗?

这可能是非常明显的事情,因此我很抱歉,但是cfouput还需要包含query=“”


当使用数组或结构时,如果键值实际上不存在,我通常会得到一个数组索引OutOfBoundsException,即一个示例[keyValue]。数据1。我建议你把你拉的第一个端口的数据,手动或放入一个CTRES/CFCAMP来缩小可能引起的行。< /P> < P>如果你的问题是你不能在嵌套的分组CFUTF标签的中间做一个排除,你有两个选择(除了离开工作代码之外)。

一种方法是编写一个函数,将查询作为参数并执行整个cfoutput语句集,等等


另一种方法是声明一些局部变量,这些局部变量包含在包含查询之前需要包含的查询位——include可以访问与include页面相同的变量范围。仔细想想,听起来您可能没有使用对查询变量的显式引用,而查询变量本身可能就是解决方案。所以不要使用:
#foo#
而是使用:
#variables.queryname.foo#

我刚刚在CF9上测试了这一点,泰拉是正确的。您需要query属性,我有一个额外的cfoutput和一个query属性,它包含这两个cfoutput;这些只是用于附加分组。我刚刚指出了cfinclude文件中引发错误的两行我知道有些开发人员在将cfinclude嵌入cfoutput时遇到了问题,因为include不会继承cfoutput的查询数据,这可能是我怀疑的问题的症结所在?@Tyran67-类似这样:P为什么这些cfinclude的bug没有被adobe记录/识别?它们在CF9中被修复了吗?有什么方法可以解决这个问题吗?我真的不想把120行代码重复3次……我不相信这是一个bug。