關于Asp代碼與頁面的分離(4)_ASP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:WEB應用的緩存兼容性設計
      經過代理以后,由于在客戶端和服務之間增加了中間層,因此服務器無法直接拿到客戶端的IP,服務器端應用也無法直接通過轉發請求的地址返回給客戶端。但是在轉發請求的HTTD頭信息中,增加了HTTP_X

      從上面可以看出,象{X},{XX},{COUNT}之類的記號是定義模板變量。它們將會在ASP程序中被替代。

      而!#TPLDEFROW...!#TPLENDROW是定義一個語句塊ROW。在ASP程序中就可以將ROW塊重復多次。

      第二步:設計ASP程序。

      TEST.ASP

      以下為引用的內容:
      -
      %@Language=JScript%
      !#includefile=Template.JScript.INC
      %
      vartpl=newTemplate(c:\Inetpub\wwwroot);
      varstr=;
      vari;
      tpl.Load(Main,TEST.HTM);
      tpl.Split(Main);
      tpl.COUNT=0;
      for(i=1;i=tpl.MAXX;i )//tpl.MAXX在模板中定義為10。
      {
      tpl.X=i;
      tpl.XX=i*i;
      str =tpl.Parse(ROW);
      tpl.COUNT ;
      }
      tpl.ROW=str;
      tpl.MAXX=;//清空此模板變量,以避免被顯示出來。
      %
      %=tpl.Parse(Main)%
      -

      上面的程序將顯示一個1到10的平方表。

      通常在使用模板的情況下,都只要在最后一行加上顯示頁面的語句。因此整個程序顯得十分清晰。此時,只要對模板文件進行編輯,就可以改變整個頁面的外觀。

      至于模板文件,它可以是任何文件,如HTML文件、ASP文件,甚至是程序本身!,而且在一個程序中可以裝載多個模板配合使用,這樣,不僅具有極大靈活性,而且模板文件與ASP程序的相關性可減到最低程度。

      好好利用模板,將會使你的工作更加輕松。

      附:Template源程序

      以下為引用的內容:
      !文件名:Template.JScript.INC
      %
      /*********************************************************/
      /*TemplateClass*/
      /*Author:*/
      /*Date:6-09*/
      /*********************************************************/
      //TemplateMethodDefine
      functionTemplate_Parse(name)
      {
      if(this[name]==null)
      return;
      varreg=newRegExp({(\w*)},ig);
      varstr=newString(this[name]);
      vararr=str.match(reg);
      vari;
      if(arr!=null)
      for(i=0;iarr.length;i )
      {
      key=arr.slice(1,-1);
      reg=newRegExp(arr,ig);
      if(this[key]!=null)
      str=str.replace(reg,this[key]);
      }
      returnstr;
      }
      functionTemplate_Split(name)
      {
      varlen=0;
      vararr;
      if(this[name]==null)
      return;
      varTemplate_Exp=newRegExp(!#TPLDEF (\w*)*((.|\n)*)!#TPLEND \1*,i);
      while(this[name].search(Template_Exp)!=-1)
      {
      arr=this[name].match(Template_Exp);
      this[arr[1}=arr[2];
      this[name]=this[name].replace(Template_Exp,{ arr[1] });
      this.Split(arr[1]);
      }
      }
      functionTemplate_Load(name,filename)
      {
      varfso=newActiveXObject(Scripting.FileSystemObject);
      varfile=fso.BuildPath(this.TplPath,filename);
      if(fso.FileExists(file))
      {
      varf=fso.OpenTextFile(file,1);
      this[name]=f.ReadAll();
      }
      }
      //TemplateConstructor
      functionTemplate(path)
      {
      //Property
      this.TplPath=path;
      //Method
      this.Parse=Template_Parse;
      this.Split=Template_Split;
      this.Load=Template_Load;
      }
      %


      分享:ASP基礎教程:學習ASP中子程序的應用
      在ASP中,你可通過VBScript和其他方式調用自程序。 實例: 調用使用VBScript的子程序 如何從ASP調用以VBScript編寫的子程序。 以下為引用的內容

      共4頁上一頁1234下一頁
      來源:模板無憂//所屬分類:ASP教程/更新時間:2008-08-22
      相關ASP教程