日期:2014-04-28  浏览次数:20522 次

文章标题: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.
        g_oDict.Add inToken, inValue
    end sub
    
    public sub GenerateHTML
        'This is the main, and only public method of the class.
        'T