0

Ubuntu 14.04.3 LTS で Lucee 4.5.1.023 を実行しています。.cfm ファイルを作成して cfoutput または cfdump を実行すると、期待どおりの出力が得られます。ただし、CFC 内で関数を使用し、その関数を output="true" に設定して cfoutput または cfdump を実行すると、次の「XML 解析エラー: 整形式ではありません」という結果になります。

<cfcomponent>
    <cffunction name="test" access="remote" output="true">
        <cfoutput>#now()#</cfoutput>
    </cffunction>
</cfcomponent>

output="false" の場合、および出力がまったく生成されない場合は、XML 解析エラーが返されます。例えば

<cfcomponent>
    <cffunction name="test" access="remote" output="false">
        <cfset var a = 1>
    </cffunction>
</cfcomponent>

どんな助けや提案も大歓迎です。

4

1 に答える 1

0

lucee をインストールしていませんが、関数アクセス方法が「リモート」に設定されています。

私の推測では、lucee サーバーはそれに応じて XML 形式で応答を返そうとしています。関数呼び出し内で何かを出力すると、生成された XML ストリームに挿入され、XML が壊れます。

デバッグの場合、アクセス方法を「パブリック」に設定し、出力を true に設定できます。これにより、コードをデバッグできます。実際、CFC をサービスとして公開する予定がない限り、「リモート」は使用しない方がよいでしょう。

標準の cfml ページ内からこのようにメソッドを呼び出すこともできます。開発中にコンポーネントをデバッグするために、このようなページを明示的に設定できます。

<cfset myComponent = createObject("mycomponent")>

<cfoutput>
    <cfset myComponent.myMethod()><!---  --->
</cfoutput> 
于 2015-08-11T05:19:53.310 に答える