我注意到即使在Railo 4.2中,cfloop标记也不支持attributeCollection。那么实现动态属性赋值的最佳方法是什么?我想要动态的代码是:
<cfscript>
query_opts = {
query="fw.report.data",
}
if (IsSet(fw.report,'group')) query_opts.group="#fw.report.group#";
</cfscript>
<cfloop attributeCollection="#query_opts#">
<!--- Does not group --->
</cfloop>
<cfloop query="#query_opts.query#" group="#query_opts.group#">
<!--- Grouping works --->
<cfif IsSet(query_opts,'group')>
<cfoutput><h2>#fw.report.data[query_opts.group]#</h2></cfoutput>
</cfif>
</cfloop>
第二个版本可以工作,组可以分配空字符串,但如果需要,如何完全删除属性(例如,因为group =“”无效)?如何在上面的代码中使group可选,而不在if / else条件中重复整个循环结构?
编辑:我正在寻找一个通用的解决方案,而不是cfloop / group属性特有的解决方案。