这次只是真多Blue Dragon版的Coldfusion。Blue Dragon版的Coldfusion有个Bug,就是主文件里的CFOUPUT使用GROUP属性的时候,连CustomTag里面的CFOUTPUT也算进去GROUP里。这个BUG不是很严重,但是很烦人的。
一下使用一个例子来说明这个BUG。
测试数据:
ID,VPN
1, abc
2. abc
3, abc
<CFQUERY Name=“qryProducts” DataSource="ds">
SELECT * FROM DATA
</CFOUTPUT>
<CFOUTPUT QUERY="qryProducts" GROUP="VPN">
<CF_TEST>
<CFOUTPUT>
#ID#<BR>
</CFOUTPUT>
</CFOUTPUT>
TEST.CFM的内容
<CFSET strToLoop = "Hello World">
<CFOUTPUT>
<CFLOOP List="#strToLoop#" Index=“s”>#s#</CFLOOP>
</CFOUTPUT>
我们期待的结果是:
HelloWorld1
HelloWorld2
HelloWorld3
实际上有这个BUG的时候,结果会变成
HelloWorldHelloWorldHelloWorld1
HelloWorldHelloWorldHelloWorld2
HelloWorldHelloWorldHelloWorld3
为了解决这个问题,我联系BlueDragon的开发商,他们说解决解决,结果关门了还没解决到。所以只有自己去解决了。
以下是我解决这个问题的方法 (我这里只改写TEST.CFM):
新的TEST.CFM
<CFQUERY Name=“qryTest” DataSource="ds">
SELECT 1 as ABC
</CFOUTPUT>
<CFSET strToLoop = "Hello World">
<CFQUERY Name=“qryTest” DBType="Query">
SELECT * FROM qryTest
<CFSAVECONTENT Variable="ss"><CFLOOP List="#strToLoop#" Index=“s”>#s#</CFLOOP></CFSAVECONTENT>
</CFQUERY>
<CFSCRIPT>WRITEOUTPUT(ss);<CFSCRIPT>