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 に答える