2011-02-22 72 views
1

我有一個不可編輯的coldfusion組件,只有回聲字符串,並且不返回變量(並且沒有返回*語句)。我怎樣才能獲得這個回顯的字符串,並將其直接顯示在屏幕上之前將其放入一個變量中? 所以:ColdFusion組件到變量

<cfcomponent displayname="Helpz"> 
<cffunction name="OutputString" returnType="void" output="yes"> 
    I love Stack overflow 
</cffunction> 

所輸出的串需要被存儲到變量中。

回答

4

CFSavecontent是你需要的。

<cfsavecontent variable="myString"><cfset object.outputString() /></cfsavecontent> 

然後你可以用#myString#做任何你想做的事情。

4
<cfsavecontent variable="foo"> 
<cfset myComponent.outputString()> 
</cfsavecontent> 
1

避免函數內部的這種輸出可能是一種更好的做法。另一種解決辦法是:

<cfcomponent displayname="Helpz"> 
<cffunction name="getString" returnType="string" output="no"> 
    <cfset var myString = ""> 
    <cfsavecontent variable="myString">I love Stack overflow</cfsavecontent> 
    <cfreturn myString> 
</cffunction> 
</cfcomponent> 

,然後在你的模板或其它地方:

<cfoutput>#myCfc.getString()#</cfoutput> 
+0

一切都可以用更好的實踐來完成,但是這並不能幫助我,當我用不上編輯該功能。 – Theopile 2011-02-23 18:03:50