ColdFusion中的繼承體現(xiàn)在CFCs,用法就是在<cfcomponent>中加入屬性extends,簡單的說,sub.cfc通過繼承parent.cfc,就自動擁有了parent.cfc中的(constructor構造器中的)變量、屬性和公開的(public)方法,比如:
<!--- parent.cfc --->
<cfcomponent>
<cffunction name="getSth">
<cfreturn "this is parent class">
</cffunction>
</cfcomponent>
<!--- sub.cfc --->
<cfcomponent extends="parent">
<cffunction name="getSthFromParent">
<cfreturn super.getSth()>
</cffunction>
</cfcomponent>
<!--- test.cfm --->
<cfset Obj = createObject("component", "sub")>
<cfset temp = Obj.getSthFromParent()>
<cfoutput>#temp#</cfoutput>
test.cfm將輸出:“this is parent class”
自定義標簽具有一般coldfuion標簽一樣的性質。他們可以完成下面的任務:
- 帶差數(shù)。
- 可以有標簽主體,開始和結束標簽。
- 當遇到開始標簽的時候時候 coldfusion可進行特定的操作。
- 如果有結束標簽,Coldfuion又可以進行不同的操作,該操作可以是和僅有開始標簽進行的操作不同。
- 在自定義標簽里面可以包含任何coldfusion頁面里合法的元素,包括Coldfusion內建標簽,自定義標簽,甚至JSP標簽或者Javascript代碼。
- 允許遞歸調用,就是說,如果設計恰當,一個自定義標簽內部可以調用本身。
- 通過全局變量向調用頁面返回結果,但是自定義標簽不能象函數(shù)那樣直接返回結果。
雖然自定義標簽和被 cfincluede標簽引用的頁面都是coldfuion頁面,但是coldfuion對他們的處理方式是不同的。 當頁面調用一個自定義標簽,該頁面的代碼將暫時停止執(zhí)行知道自定義標簽內的代碼全部被執(zhí)行完。 當自定義標簽的代碼執(zhí)行完畢,將返回到調用該標簽的頁面,繼續(xù)執(zhí)行該頁面的代碼。 下面的圖例示范了這一過程。 箭頭表示coldfuion對頁面執(zhí)行的流程。

4.1、調用自定義cfml標簽
不像內建標簽,你可以通過下面三種方法調用自定義的cfml標簽:
- 直接調用。
- 使用cfmodule標簽調用。
- 使用cfimport標簽調用標簽庫目錄。
直接調用一個cfml自定義標簽,只需要把改標簽所在的cfm文件的文件名去掉.cfm的擴展名,在前面加上cf_前綴,然后放到尖括號<>里就行了。 比如說,如果用來存放自定義標簽代碼的文件名是mytag.cfm,我們可以用下面的方式來直接調用該標簽:
<cf_myTag>
同時只要給標簽加上斜杠(/),就可以構成一個結束的標簽:
</cf_myTag>