【发布时间】:2014-09-16 12:20:40
【问题描述】:
我在 Adobe ColdFusion 10 中运行以下代码。我想删除所有标签并在脚本中执行此操作。真实的代码比较复杂,这里只是一个演示的shell。
对此有任何 cfscript 支持吗?您应该能够复制并粘贴此代码,作为我正在尝试完成的示例。
<h1>Task Migration</h1>
<cfscript>
id=0;
commentid=0;
qryTasks = queryNew("tasknumber,name,commentid,comment"
,"integer,varChar,integer,varChar"
,[
{
tasknumber : ++id
,name : "Task Name for #id#"
,commentid: ++commentid
,comment : "comment #commentid# on tasknumber #id#"
}
,{
tasknumber : id
,name : "Task Name for #id#"
,commentid: ++commentid
,comment : "comment #commentid# on tasknumber #id#"
}
,{
tasknumber : ++id
,name : "Task Name for #id#"
}
,{
tasknumber : ++id
,name : "Task Name for #id#"
,commentid: ++commentid
,comment : "comment #commentid# on tasknumber #id#"
}
]
);
writedump(var:qryTasks, label:"starting query");
traceLog=[];
</cfscript>
<cfloop query="qryTasks" group="tasknumber">
<cfscript>
arrayAppend(traceLog, "Make a ticket for #qryTasks.name#");
</cfscript>
<cfloop group="commentID">
<cfscript>
if (trim(qrytasks.comment) != ''){
arrayAppend(traceLog, "Add comment to #qryTasks.name#: #qrytasks.comment#");
};
</cfscript>
</cfloop>
</cfloop>
<cfdump var="#tracelog#" label="Stuff that happened in the loop" />
【问题讨论】:
-
据我记得,
group不是 cfscript 中for循环的可用属性。如果您定期需要此功能,请创建一个模拟group行为的方法。 -
Railo 实际上支持带有
group属性的cfscript 中的loop命令,Adobe 承诺将所有功能从标签移植到带有CF9 和CF10 的脚本,但是,Adobe。所以走老路if(current_group_value eq old_group_value) continue; -
貌似是在CF11中完成的