關於Asp代碼與頁面的分離模板技術第1/3頁_應用技巧

來源:互聯網
上載者:User
在使用ASP製作一個網站的時候,常常會出現一個ASP檔案中,程式碼和HTML代碼混合的情況。這樣子做有許多缺點:
  1.編程時就要對頁面配置進行設計和編排,造成代碼混亂難懂,不規範;
  2.當需要改變頁面外觀時,你不僅要改變HTML部份,也需要改變ASP代碼,不易維護。
  那麼,要如何才能避免這些麻煩呢?
  答案就是使用模板檔案,將ASP代碼和HTML頁面分開,一切問題就都解決了。使用模板有以下好處:
  1.在很短的時間內可以替換整個網站的外觀;
  2.使程式員可以抽象編程,而無須接觸HTML代碼;
  3.可以重複利用以前的模板。
  使用過PHP的程式就會知道,PHP有個模板程式(FastTemplate),現在的問題是如何在ASP中實作類別似的功能。
  Microsoft的ASP帶有兩種指令碼:VBScript和JScript。它們都帶有一個Regex對象(RegExp),利用字串對象和RegExp對象,就可以輕鬆的實現模板功能。沐楓以此編寫了一個Template.JScript.INC檔案,此檔案的內容附在文章後面。有能力的讀者可以根據自己的需要進行改進。
  下面介紹一下使用方法。由於此檔案是使用JScript編寫的(當然要轉成VBScript也很容易),因此,預設指令碼語言要設為JScript,即ASP程式第一行應為:%@Language=JScript%,然後再包含模板程式檔案:!#includefile=Template.JScript.INC。
  先介紹一下Template類的使用:
  1.建立Template對象:Template(Path)
  參數:Path(字串類型)HTML模板檔案的存放路徑。
  使用new操作符建立Template對象。
  例子:
以下是引用片段:
  vartpl=newTemplate(c:\template); 

  在程式中可以用tpl.TplPath來取得模板路徑,也可以通過tpl.TplPath來改變模板路徑。
  如:
以下是引用片段:
  tpl.TplPath=d:\template; 

  2.裝載模板檔案:Template.Load(Name,File)
  參數:Name(字串類型)是一個模板變數名。
  File(字串類型)模板檔案名稱。此檔案存放在HTML模板路徑下。
  讀取檔案File到模板變數Name中。
  例子:
以下是引用片段:
  tpl.Load(Main,TEST.HTM); 

  此時,模板變數Main就包含了檔案TEST.HTM的內容。
  你可以用tpl.Main來訪問模板變數Main。
  例子:
以下是引用片段:
  %=tpl.Main% 

  將顯示剛才讀進來的TEST.HTM檔案內容。
  3.模板分拆:Template.Split(Name)
  參數:Name(字串類型)是一個模板變數名。
  將Name中的子模板分解。
  例子:
以下是引用片段:
  先假設上例中的TEST.HTM內容為: 
  - 
  這是主模板。接下來是:!#TPLDEFSUBSUB子模板,還有 
  !#TPLDEFTHIRDTHIRD模板。!#TPLENDTHIRD 
  !#TPLENDSUB 
  - 

  那麼:
以下是引用片段:
  tpl.Split(Main); 

  執行以後,就會產生新的模板變數SUB,和THIRD,它們的內容就是!#TPLDEFSUB和!#TPLENDSUB之間語句。
  而且Main模板變數的內容也會發生改變:
  tpl.Main的內容為:這是主模板。接下來是{SUB}
  tpl.SUB的內容為:SUB子模板,還有{THIRD}
  tpl.THIRD的內容為:THIRD模板。
  TPLDEF和TPLEND定義的語句塊充許多重嵌套。
  4.模板處理:Template.Parse(Name)
  參數:Name(字串類型)是一個模板變數。
  將模板中用花括弧括起來的字串用同名的模板變數的內容替換。
  例子:續上例

以下是引用片段:
  %=tpl.Parse(Main)% 
當前1/3頁  123下一頁閱讀全文
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.