AERYU

          2006年2月20日

          ColdFusion中的繼承

          ColdFusion中的繼承體現(xiàn)在CFCs,用法就是在<cfcomponent>中加入屬性extends,簡(jiǎn)單的說(shuō),sub.cfc通過(guò)繼承parent.cfc,就自動(dòng)擁有了parent.cfc中的(constructor構(gòu)造器中的)變量、屬性和公開(kāi)的(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”

          posted @ 2006-02-22 08:52 AERYU 閱讀(292) | 評(píng)論 (0)編輯 收藏

          使用自定義cfml標(biāo)簽

          自定義標(biāo)簽具有一般coldfuion標(biāo)簽一樣的性質(zhì)。他們可以完成下面的任務(wù):

          • 帶差數(shù)。
          • 可以有標(biāo)簽主體,開(kāi)始和結(jié)束標(biāo)簽。
          • 當(dāng)遇到開(kāi)始標(biāo)簽的時(shí)候時(shí)候 coldfusion可進(jìn)行特定的操作。
          • 如果有結(jié)束標(biāo)簽,Coldfuion又可以進(jìn)行不同的操作,該操作可以是和僅有開(kāi)始標(biāo)簽進(jìn)行的操作不同。
          • 在自定義標(biāo)簽里面可以包含任何coldfusion頁(yè)面里合法的元素,包括Coldfusion內(nèi)建標(biāo)簽,自定義標(biāo)簽,甚至JSP標(biāo)簽或者Javascript代碼。
          • 允許遞歸調(diào)用,就是說(shuō),如果設(shè)計(jì)恰當(dāng),一個(gè)自定義標(biāo)簽內(nèi)部可以調(diào)用本身。
          • 通過(guò)全局變量向調(diào)用頁(yè)面返回結(jié)果,但是自定義標(biāo)簽不能象函數(shù)那樣直接返回結(jié)果。

          雖然自定義標(biāo)簽和被 cfincluede標(biāo)簽引用的頁(yè)面都是coldfuion頁(yè)面,但是coldfuion對(duì)他們的處理方式是不同的。 當(dāng)頁(yè)面調(diào)用一個(gè)自定義標(biāo)簽,該頁(yè)面的代碼將暫時(shí)停止執(zhí)行知道自定義標(biāo)簽內(nèi)的代碼全部被執(zhí)行完。 當(dāng)自定義標(biāo)簽的代碼執(zhí)行完畢,將返回到調(diào)用該標(biāo)簽的頁(yè)面,繼續(xù)執(zhí)行該頁(yè)面的代碼。 下面的圖例示范了這一過(guò)程。 箭頭表示coldfuion對(duì)頁(yè)面執(zhí)行的流程。

          4.1、調(diào)用自定義cfml標(biāo)簽

          不像內(nèi)建標(biāo)簽,你可以通過(guò)下面三種方法調(diào)用自定義的cfml標(biāo)簽:

          • 直接調(diào)用。
          • 使用cfmodule標(biāo)簽調(diào)用。
          • 使用cfimport標(biāo)簽調(diào)用標(biāo)簽庫(kù)目錄。

          直接調(diào)用一個(gè)cfml自定義標(biāo)簽,只需要把改標(biāo)簽所在的cfm文件的文件名去掉.cfm的擴(kuò)展名,在前面加上cf_前綴,然后放到尖括號(hào)<>里就行了。 比如說(shuō),如果用來(lái)存放自定義標(biāo)簽代碼的文件名是mytag.cfm,我們可以用下面的方式來(lái)直接調(diào)用該標(biāo)簽:

          <cf_myTag>

          同時(shí)只要給標(biāo)簽加上斜杠(/),就可以構(gòu)成一個(gè)結(jié)束的標(biāo)簽:

          </cf_myTag>

          posted @ 2006-02-20 15:58 AERYU 閱讀(628) | 評(píng)論 (0)編輯 收藏

          <2006年2月>
          2930311234
          567891011
          12131415161718
          19202122232425
          2627281234
          567891011

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(4)

          隨筆檔案

          文章分類(lèi)

          文章檔案

          新聞檔案

          configuration

          搜索

          積分與排名

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 徐闻县| 林州市| 尉犁县| 绥滨县| 永顺县| 五台县| 双峰县| 运城市| 康马县| 彩票| 江油市| 桑植县| 甘洛县| 高密市| 西宁市| 康平县| 法库县| 兰坪| 福州市| 望都县| 九台市| 吉林省| 永靖县| 济宁市| 辽宁省| 宾阳县| 青浦区| 盘锦市| 绥德县| 启东市| 黄冈市| 隆尧县| 咸阳市| 丹江口市| 娱乐| 朝阳市| 靖安县| 昌乐县| 万州区| 仪陇县| 垫江县|