2011-07-22 50 views
0

當我寫的ColdFusion 8 CFC,在源代碼中的ColdFusion顯示這些評論:的ColdFusion 8 - 不顯示HTML源代碼註釋

<!-- application.cfm BEGIN --> 
.. 
<!-- app_include.cfm BEGIN --> 
..  
<!-- app_include.cfm END --> <!-- BEGIN variableDeclarations.cfm --> 
... 
<!-- END variableDeclarations.cfm OR #request.directory# contains "storeworks"--> 
... 
<!-- application.cfm END --> 

但我沒寫東西,只有一個功能:

<cfcomponent Hint = "Test" displayname="Test" output="true"> 
    <cffunction name="GetProducts" returnformat="json" output="false" access="remote"> 

    <cfquery name="getMenu" dbtype="query" datasource="#request.dsn#"> 
    select * from Grades ORDER BY gradeID ASC 
    </cfquery> 

    <cfreturn getMenu /> 
    </cffunction> 
</cfcomponent> 

如何刪除評論,或者如何不顯示評論?

+1

我想你必須在這裏給我們更多的細節。我在您發佈的代碼中看不到任何評論,只是查詢和返回聲明。 雖然我想給你一些指示,但請確保getMenu在函數的開始處是var範圍,並且還將在select語句中設置要嘗試選擇的列而不是*。 – bittersweetryan

回答

8

如果您不想在HTML源代碼中顯示註釋,則必須使用ColdFusion註釋代替HTML註釋。

<!--- ColdFusion comments do not show up in source, they are ignored ---> 

<!-- HTML comment can be viewed with view source --> 
+0

+1 - 贏得三個破折號! – Nate

0

您可以添加output=false<cffunction標籤來抑制從功能本身的任何輸出。這將工作,如果你需要的只是返回的查詢。

<cffunction name="getMenu" output="false"> 
    <cfset var getMenu = ""> 
    <cfquery name="getMenu" dbtype="query" datasource="#request.dsn#"> 
    select * from Grades ORDER BY gradeID ASC 
    </cfquery> 

    <cfreturn getMenu /> 
</cffunction> 
+0

隨着您添加到問題中的更新信息,Adreas的答案是正確的 – Yisroel

2

它看起來像那些註釋已放入Application.cfm文件,該文件在每個請求上運行。

正如Andreas所說,如果您將這些註釋更改爲使用3破折號而不是2破折號,那麼它們將不會出現在HTML源代碼中。

0

如前所述,考慮到名稱,上述評論來自cfapplication文件。雖然將註釋更改爲cf註釋將有所幫助,但更好的解決方案是將以下cfsetting標記添加到cfapplication文件的頂部和底部。

< cfsetting enablecfoutputonly = 「是」 >

< - !你application.cfm碼 - >

< cfsetting enablecfoutputonly = 「無」 >

這將抑制所有的意見,任何多餘的字符,最重要的是,可能會在application.cfm文件中生成任何無關的空白。

在您生成的HTML中,您有沒有注意到您的DOCTYPE行被幾十個CR壓入頁面?這個幫助將解決它。