2011-02-22 5 views
1

필자는 편집 할 수없고, 문자열 만 표시하며, 변수를 반환하지 않으며 return * 문이없는 coldfusion 구성 요소가 있습니다. 어떻게 화면에 직접 표시되기 전에이 반향 된 문자열을 가져 와서 변수에 넣을 수 있습니까? 그래서 :ColdFusion Component to Variable

<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