5

我们正在使用 Coldfusion 9。

是否有一种简单的方法可以知道在特定请求期间 enablecfoutputonly 是否已设置为 true?

4

1 回答 1

5

我现在无法使用 CF9 进行测试,但在 CF10 中,可以getPageContext()通过检查输出对象来访问它:

<cfscript>
   out = getPageContext().getOut();
   // Is the cfsetting enablecfoutputonly value currently true?
   isSettingEnabled = out.getDisableCount() >  0;
   WriteOutput("isSettingEnabled="& isSettingEnabled &"<br>");
   // Is output currently allowed?
   isOuputtingEnabled = out.getDisableCount() == 0 || out.getOutputCount() > 0;
   WriteOutput("isOuputtingEnabled="& isOuputtingEnabled &"<br>");
</cfscript>

..或使用反射:

<cfscript>
    out = getPageContext().getOut();
    internalMethod = out.getClass().getDeclaredMethod("isOutputEnabled", []);
    internalMethod.setAccessible( true );
    isOuputtingEnabled = internalMethod.invoke( out, [] );
   // is output currently allowed?
    WriteOutput("isOuputtingEnabled="& isOuputtingEnabled);
</cfscript>
于 2012-11-13T00:55:14.270 回答