ASP通用模板類

字號(hào):


    ASP 通用模板類。
    適合存在較少循環(huán)的模板。未實(shí)現(xiàn)內(nèi)部循環(huán),需要使用正則表達(dá)式,較浪費(fèi)資源和時(shí)間,如需使用可參考這篇文章.
    特性
    可設(shè)定私有緩存或公共緩存,提高效率
    可自由選擇使用 Stream 組件或 FSO 組件
    支持自定義文件編碼
    可保存文件
    屬性
    Name
    文本,該模板名稱,主要用于使用公共緩存時(shí)區(qū)分不同模板。
    Format
    文本,文件編碼類型,可設(shè)置值。
    Object
    文本,使用組件,可設(shè)置值:
    Stream
    FSO
    PublicCache
    布爾值,使用公共緩存,開啟時(shí)模板文件將保存到Application對(duì)象,其他引用此模板類的對(duì)象設(shè)置相同Name值并同樣打開公共緩存即可從緩存讀取。(Load方法)
    PrivateCache
    布爾值,使用私有緩存,開啟時(shí)模板文件將保存到對(duì)象內(nèi)部變量,同一引用此模板類的對(duì)象可讀取。(Load方法)
    Direction
    文本,模板文件所在目錄,前后無需斜杠或反斜杠,如:template/default
    File
    文本,模板文件名,前邊無需斜杠或反斜杠,如:default.html
    SaveDirection
    文本,保存文件所在目錄,前后無需斜杠或反斜杠,如:html/default
    SaveFile
    文本,保存文件名,前邊無需斜杠或反斜杠,如:default.html
    對(duì)象
    Code
    文本,當(dāng)前文本,使用SetVar方法時(shí)對(duì)此對(duì)象進(jìn)行替換,使用Load方法時(shí)將模板重載到此對(duì)象
    Storage
    文本,已保存文本,使用SaveFront或SaveLast方法時(shí)將Code對(duì)象中文本保存到此對(duì)象的開頭或結(jié)尾,可用于循環(huán)后得到所有代碼
    方法
    ClearCache
    清除公共緩存和私有緩存(強(qiáng)制從文件重載模板)
    ClearPublicCache
    清除公共緩存
    ClearPrivateCache
    清除私有緩存
    ClearCode
    清除Code對(duì)象
    ClearStorage
    清除Storage對(duì)象
    SaveFront
    將當(dāng)前Code對(duì)象中文本保存到Storage對(duì)象開頭
    SaveLast
    將當(dāng)前Code對(duì)象中文本保存到Storage對(duì)象結(jié)尾
    SaveCode
    將當(dāng)前Code對(duì)象中文本保存到文件
    SaveStorage
    將當(dāng)前Storage對(duì)象中文本保存到文件
    SetVar
    對(duì)當(dāng)前Code對(duì)象中文本進(jìn)行替換
    參數(shù):需要被替換的文本,欲替換后的文本
    Load
    將模板文件載入Code對(duì)象,當(dāng)開啟并存在私有緩存時(shí),從私有緩存載入,當(dāng)開啟并存在公共緩存時(shí),從公共緩存載入,若無緩存則從文件載入
    內(nèi)部變量
    ccStrPath
    默認(rèn)根目錄
    ccStrCookieName
    默認(rèn)Application對(duì)象名前綴
    代碼
    Class ccClsTemplate
    Private ccStrCode,ccStrStorage
    Private ccStrCacheCode
    Private ccBlnPublicCache,ccBlnPrivateCache
    Private ccStrName,ccStrCookieName
    Private ccStrDirection,ccStrSaveDirection,ccStrFile,ccStrSaveFile,ccStrPath
    Private ccObjStream,ccObjFSO,ccStrFormat,ccIntObject,ccObjText,ccIntFormat
    Private Sub Class_Initialize
    ccStrName = "default" '默認(rèn)名稱
    ccBlnPublicCache = False
    ccBlnPrivateCache = False
    ccStrFile = "cache.html"
    ccStrSaveFile = "save_cache.html"
    ccStrCookieName = "ccClass_Template" 'Application對(duì)象名前綴
    ccStrFormat = "UTF-8" 'UTF-8|ASCII|GB2312|BIG5
    ccIntFormat = -1
    ccIntObject = 1 '默認(rèn)讀取/保存模板組件 1:ADODB.Stream 2:FSO
    ccStrPath = Server.MapPath("./")&"" '默認(rèn)根路徑
    End Sub
    Public Property Let Name(ccStrName_in)
    ccStrName = LCase(Trim(ccStrName_in))
    End Property
    Public Property Let Format(ccStrFormat_in)
    ccStrFormat = ccStrFormat_in
    If InStr(LCase(Trim(ccStrFormat_in)),"utf") > 0 Then
    ccIntFormat = -1
    Else
    ccIntFormat = 0
    End If
    End Property
    Public Property Let Object(ccStrObject_in)
    ccStrObject_in = LCase(Trim(ccStrObject_in))
    If InStr(ccStrObject_in,"fso") > 0 Then
    ccIntObject = 2
    Else
    ccIntObject = 1
    End If
    End Property
    Public Property Let PublicCache(ccBlnPublicCache_in)
    If ccBlnPublicCache_in = True Then
    ccBlnPublicCache = True
    Else
    ccBlnPublicCache = False
    End If
    End Property
    Public Property Let PrivateCache(ccBlnPrivateCache_in)
    If ccBlnPrivateCache_in = True Then
    ccBlnPrivateCache = True
    Else
    ccBlnPrivateCache = False
    End If
    End Property
    Public Property Let Direction(ccStrDirection_in)
    ccStrDirection = ccStrDirection_in
    End Property
    Public Property Let File(ccStrFile_in)
    If ccStrFile_in <> "" Then