分享
 
 
 

ASP 通用模板类

王朝asp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

ASP 通用模板类。

适合存在较少循环的模板。未实现内部循环,需要使用正则表达式,较浪费资源和时间,如需使用可参考这篇文章.

特性

可设定私有缓存或公共缓存,提高效率

可自由选择使用 Stream 组件或 FSO 组件

支持自定义文件编码

可保存文件

属性

Name

文本,该模板名称,主要用于使用公共缓存时区分不同模板。

Format

文本,文件编码类型,可设置值。

Object

文本,使用组件,可设置值:

Stream

FSO

PublicCache

布尔值,使用公共缓存,开启时模板文件将保存到Application对象,其他引用此模板类的对象设置相同Name值并同样打开公共缓存即可从缓存读取。(Load方法)

PrivateCache

布尔值,使用私有缓存,开启时模板文件将保存到对象内部变量,同一引用此模板类的对象可读取。(Load方法)

Direction

文本,模板文件所在目录,前后无需斜杠或反斜杠,如:template/default

File

文本,模板文件名,前边无需斜杠或反斜杠,如:default.html

SaveDirection

文本,保存文件所在目录,前后无需斜杠或反斜杠,如:html/default

SaveFile

文本,保存文件名,前边无需斜杠或反斜杠,如:default.html

对象

Code

文本,当前文本,使用SetVar方法时对此对象进行替换,使用Load方法时将模板重载到此对象

Storage

文本,已保存文本,使用SaveFront或SaveLast方法时将Code对象中文本保存到此对象的开头或结尾,可用于循环后得到所有代码

方法

ClearCache

清除公共缓存和私有缓存(强制从文件重载模板)

ClearPublicCache

清除公共缓存

ClearPrivateCache

清除私有缓存

ClearCode

清除Code对象

ClearStorage

清除Storage对象

SaveFront

将当前Code对象中文本保存到Storage对象开头

SaveLast

将当前Code对象中文本保存到Storage对象结尾

SaveCode

将当前Code对象中文本保存到文件

SaveStorage

将当前Storage对象中文本保存到文件

SetVar

对当前Code对象中文本进行替换

参数:需要被替换的文本,欲替换后的文本

Load

将模板文件载入Code对象,当开启并存在私有缓存时,从私有缓存载入,当开启并存在公共缓存时,从公共缓存载入,若无缓存则从文件载入

内部变量

ccStrPath

默认根目录

ccStrCookieName

默认Application对象名前缀

代码

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" '默认名称

ccBlnPublicCache = False

ccBlnPrivateCache = False

ccStrFile = "cache.html"

ccStrSaveFile = "save_cache.html"

ccStrCookieName = "ccClass_Template" 'Application对象名前缀

ccStrFormat = "UTF-8" 'UTF-8|ASCII|GB2312|BIG5

ccIntFormat = -1

ccIntObject = 1 '默认读取/保存模板组件 1:ADODB.Stream 2:FSO

ccStrPath = Server.MapPath("./")&"\" '默认根路径

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

ccStrFile = ccStrFile_in

End If

End Property

Public Property Let SaveDirection(ccStrSaveDirection_in)

ccStrSaveDirection = ccStrSaveDirection_in

End Property

Public Property Let SaveFile(ccStrSaveFile_in)

If ccStrSaveFile_in <> "" Then

ccStrSaveFile = ccStrSaveFile_in

End If

End Property

Public Property Get Code

Code = ccStrCode

End Property

Public Property Get Storage

Storage = ccStrStorage

End Property

Public Sub ClearCache

Call ClearPrivateCache

Call ClearPublicCache

End Sub

Public Sub ClearPrivateCache

ccStrCacheCode = ""

End Sub

Public Sub ClearPublicCache

Application(ccStrCookieName&ccStrName) = ""

End Sub

Public Sub ClearStorage

ccStrStorage = ""

End Sub

Public Sub ClearCode

ccStrCode = ""

End Sub

Public Sub SaveFront

ccStrStorage = ccStrCode & ccStrStorage

End Sub

Public Sub SaveLast

ccStrStorage = ccStrStorage & ccStrCode

End Sub

Public Sub SaveCode

Call SaveToFile(1)

End Sub

Public Sub SaveStorage

Call SaveToFile(2)

End Sub

Public Sub SetVar(ccStrTag_in,ccStrValue_in)

ccStrCode = RePlace(ccStrCode,ccStrTag_in,ccStrValue_in)

End Sub

Private Sub SaveToFile(ccIntCode_in)

Dim ccStrSaveCode

If ccIntCode_in = 1 Then

ccStrSaveCode = ccStrCode

Else

ccStrSaveCode = ccStrStorage

End If

If ccIntObject = 1 Then

Set ccObjStream = Server.CreateObject("ADODB.Stream")

With ccObjStream

.Type = 2

.Mode = 3

.Open

.Charset = ccStrFormat

.Position = ccObjStream.Size

.WriteText ccStrSaveCode

.SaveToFile ccStrPath & ccStrSaveDirection & "\" & ccStrSaveFile,2

.Close

End With

Set ccObjStream = Nothing

Else

Set ccObjFSO = CreateObject("Scripting.FileSystemObject")

If ccObjFSO.FileExists(ccStrPath & ccStrSaveDirection & "\" & ccStrSaveFile) = True Then

ccObjFSO.DeleteFile(ccStrPath & ccStrSaveDirection & "\" & ccStrSaveFile)

End If

Set ccObjText = ccObj

[1] [2] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有