asp模板 ASP类代码参考
Class Template
Private m_FileName, m_Root, m_Unknowns, m_LastError, m_HaltOnErr
Private m_ValueList, m_BlockList
Private m_RegExp
Private Sub Class_Initi
关于ASP模板类代码参考 Class Template Private m_FileName, m_Root, m_Unknowns, m_LastError, m_HaltOnErr Private m_ValueList, m_BlockList Private m_RegExp Private Sub Class_Initialize Set m_ValueList = CreateObject("Scripting.Dictionary") Set m_BlockList = CreateObject("Scripting.Dictionary") set m_RegExp = New RegExp m_RegExp.IgnoreCase = True m_RegExp.Global = True m_FileName = "" m_Root = "." m_Unknowns = "remove" m_LastError = "" m_HaltOnErr = true End Sub Private Sub Class_Terminate Set m_RegExp = Nothing Set m_BlockMatches = Nothing Set m_ValueMatches = nothing End Sub Public Property Get ClassName() ClassName = "Template" End Property Public Property Get Version() Version = "1.0" End Property Private Function LoadFile(ByVal chartype) Dim Filename, fso, hndFile Filename = m_Root If Right(Filename, 1)"/" And Right(Filename,1)"" Then Filename = Filename & "/" Filename = Server.MapPath(Filename & m_FileName) Set StreamObject = Server.CreateObject("Adodb.Stream") StreamObject.Type = 1 StreamObject.Mode = 3 StreamObject.Open StreamObject.Position = 0 StreamObject.LoadFromFile Filename StreamObject.Position = 0 StreamObject.Type = 2 StreamObject.CharSet = chartype LoadFile = StreamObject.readtext() If LoadFile = "" Then ShowError("0x11 Could Not Load The File " & m_FileName & "!") End Function Private Sub ShowError(ByVal msg) m_LastError = msg Response.Write "Error ID : " & msg & "" If m_HaltOnErr Then Response.End End Sub Public Sub set_root(ByVal Value) m_Root = Value End Sub Public Function get_root() get_root = m_Root End Function Public Property Let Root(ByVal Value) set_root(Value) End Property Public Property Get Root() Root = m_Root End Property Public Sub set_file(ByVal handleasp模板,ByVal filename,ByVal chartype) m_FileName = filename m_BlockList.Add Handle, LoadFile(chartype) End Sub Public Function get_file() get_file = m_FileName End Function Public Sub set_unknowns(ByVal unknowns) m_Unknowns = unknowns End Sub Public Function get_unknowns() get_unknowns = m_Unknowns End Function Public Property Let Unknowns(ByVal unknown) m_Unknowns = unknown End Property Public Property Get Unknowns() Unknowns = m_Unknowns End Property Public Sub set_block(ByVal Parent, ByVal BlockTag, ByVal Name) Dim Matches m_RegExp.Pattern = "([sS.]*)" If Not m_BlockList.Exists(Parent) Then ShowError("0x12 Undefined Block Tag " & Parent & "!") set Matches = m_RegExp.Execute(m_BlockList.Item(Parent)) For Each Match In Matches m_BlockList.Add BlockTag, Match.SubMatches(0) m_BlockList.Item(Parent) = Replace(m_BlockList.Item(Parent), Match.Value, "{" & Name & "}") Next set Matches = nothing End Sub Public Sub set_var(ByVal Name, ByVal Value, ByVal AppEnd) Dim Val If IsNull(Value) Then Val = "" Else Val = Value If m_ValueList.Exists(Name) Then If AppEnd Then m_ValueList.Item(Name) = m_ValueList.Item(Name) & Val _ Else m_ValueList.Item(Name) = Val Else m_ValueList.Add Name, Value End If End Sub Public Sub unset_var(ByVal Name) If m_ValueList.Exists(Name) Then m_ValueList.Remove(Name) End Sub Private Function InstanceValue(ByVal BlockTag) Dim keys, i InstanceValue = m_BlockList.Item(BlockTag) keys = m_ValueList.Keys For i=0 To m_ValueList.Count-1 InstanceValue = Replace(InstanceValue, "{" & keys(i) & "}", m_ValueList.Item(keys(i))) Next End Function Public Sub parse(ByVal Name, ByVal BlockTag, ByVal AppEnd) If Not m_BlockList.Exists(BlockTag) Then ShowError("0x12 Undefined Block Tag " & Parent & "!") If m_ValueList.Exists(Name) Then If AppEnd Then m_ValueList.Item(Name) = m_ValueList.Item(Name) & InstanceValue(BlockTag) _ Else m_ValueList.Item(Name) = InstanceValue(BlockTag) Else m_ValueList.Add Name, InstanceValue(BlockTag) End If End Sub Private Function finish(ByVal content) Select Case m_Unknowns Case "keep" finish = content Case "remove" m_RegExp.Pattern = "{[^ trn}]+}" finish = m_RegExp.Replace(content, "") Case "comment" m_RegExp.Pattern = "{([^ trn}]+)}" finish = m_RegExp.Replace(content, "") Case Else finish = content End Select End Function Public Sub output(ByVal Name) If Not m_ValueList.Exists(Name) Then ShowError("0x13 Could Not Find Tag " & Name & "!") Response.Write(finish(m_ValueList.Item(Name))) End Sub End Class 【关于ASP模板类代码参考】相关文章: 1.asp缓存类代码 2. asp.net 操作INI文件读写类实例代码 3.asp分页代码是什么 4.asp购物车代码 5.关于AJAX类代码 6.关于ASP技术简介参考 7.asp获取当前URL代码实例 8.ASP加法验证码代码 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |