Blue Dragon版的CFOUPPUT的GROUP问题的一个奇异解决方法。

来源:互联网 发布:centos设置ip地址命令 编辑:程序博客网 时间:2024/06/13 23:42

这次只是真多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

因为CustomTag里的CFOUTPUT受到了外面的<CFOUTPUTQUERY="qryProducts" GROUP="VPN">的影响。

为了解决这个问题,我联系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"><CFLOOPList="#strToLoop#" Index=“s”>#s#</CFLOOP></CFSAVECONTENT>

</CFQUERY>

<CFSCRIPT>WRITEOUTPUT(ss);<CFSCRIPT>


0 0
原创粉丝点击