如何清除ColdFusion中的响应缓冲区?

时间:2010-09-13 18:01:08

标签: coldfusion

我正在寻找类似Response.Clear()的内容。

3 个答案:

答案 0 :(得分:25)

您可以使用带有reset参数的cfcontent标记重置输出缓冲区:

<cfcontent reset="true">

答案 1 :(得分:10)

这将清除响应正文并阻止缓冲内容的输出 -

<cfset GetPageContext().getCFOutput().clear()>

答案 2 :(得分:0)

现有的两个答案(<cfset GetPageContext().getCFOutput().clear()><cfcontent reset="true">)将重置主内容缓冲区,但这些命令不会重置标头缓冲区(即,ColdFusion自动插入<head>中的内容元素,例如使用<script>时的<cfchart>标签。

要重置所有内容,可以使用以下两种方法之一:

<cfcontent reset="true" resethead="true">

<cfset getPageContext().getCFOutput().clearAll()>
<cfset getPageContext().getCFOutput().clearHeaderBuffers()>

这些方法没有文档记录(因此可能会在将来的版本中进行更改,尽管可能性不大),并且这些方法不太可能移植到其他CFML引擎中,但是我没有发现任何文档记录方法来清除标头缓冲区。

相关答案:Is there a way to prevent cfchart from forcing js into response content?