文章标题:vbs类处理模板实现代码与界面分离
'作者:yanek
'email:ASPboy@263.net
本程序通过vbs类处理模板实现代码与界面分离的程序,主要有下面文件组成
index.ASP,parse_cls.ASP,template.HTML
下面是代码
1。index.ASP 调用vbs类处理模板
<%
'作者:yanek
'email:ASPboy@263.net
'--- ---
' index.ASP
'------ ----
' (c)2000 James Q. Stansfield (james.stansfield@iridani.com)
' This code is free for use by anyone. It is meant as a learning tool and can be passed along in any format.
option explicit
%>
<!--#INCLUDE FILE="parse_cls.ASP"-->
<%
'Declare our variables
dim g_oPageGen
'Cerate the class object
set g_oPageGen = New parseTMPL
'Set the template file
g_oPageGen.TemplateFile = "template.HTML"
'Add some custom tags to the dictionary
g_oPageGen.AddToken "title", "Template Example"
g_oPageGen.AddToken "copyright", "This is mine! All mine!"
g_oPageGen.AddToken "quote", """Tell Jabba I've got his money!""<br>--Han Solo, Star Wars 1977"
g_oPageGen.AddToken "menu", "Home Page<br>News Page<br>Link Page"
g_oPageGen.AddToken "content", "Welcome To My Home Page... Yadda Yadda Yadda!"
'Generate the page
g_oPageGen.GenerateHTML
'Destroy our objects
set g_oPageGen = nothing
%>
2。parse_cls.ASP 处理模板类文件
<%
'作者:yanek
'email:ASPboy@263.net
'--- ---
' parse_cls.ASP
' This code is free for use by anyone. It is meant as a learning tool and can be passed along in any format.
class parseTMPL
'Dimension variables
private g_sTMPLFILE
private g_oDict
private g_bFILE
private sub class_Initialize
'Create the Scripting.Dictionary Object,
'Set the compare mode to 1 so that it is case insensitive.
'Also flag a boolean file so we know whether our file is there or not.
set g_oDict = createobject("Scripting.Dictionary")
g_oDict.CompareMode = 1
g_bFILE = FALSE
end sub
private sub class_Terminate
'Destroy our object.
set g_oDict = nothing
end sub
public property let TemplateFile(inFile)
'A file & path must be specified for the routine to work.
g_sTMPLFILE = server.mappath(inFile)
end property
private property get TemplateFile()
TemplateFile = g_sTMPLFILE
end property
public sub AddToken(inToken, inValue)
'This property allows us to set our tokens.
&nb