ASP Crazy 模版操作类(最简单的模板类、仅提供交流)

  文件名:Awa_temp.Class.asp

  

复制代码 代码如下:

  <%

  'Crazy蛙!模板操作类

  '作者Crazy~蛙! QQ:379969387 欢迎交流

  '版本V1.0;

  Class AwaTemp

  Public aa

  Private FSO,StrTemp,FileData,GetDatas,StrHtmlName,htmlwrite,StrLabel,StrLValues

  '===========================================

  '构造函数_初始化FSO组件

  '===========================================

  Private Sub Class_Initialize()

  Set FSO=Server.CreateObject("Scripting.FileSystemObject")

  End Sub

  '===========================================

  '构析函数_销毁FSO组件

  '===========================================

  Private Sub Class_terminate()

  Set FSO=nothing

  End Sub

  '===========================================

  '类属性

  '===========================================

  '版本信息

  Public Property Get Version

  Version="Crazy~蛙! 模板操作类!V1.0版本;"

  End Property

  '获取模板地址以及名称

  Public Property Let Temp(ByVal Values)

  StrTemp=Values

  End Property

  '获取生成文件的文件名

  Public Property Let HtmlName(ByVal Values)

  StrHtmlName=Values

  End Property

  '获取标签

  Public Property Let Label(ByVal Values)

  StrLabel=Values

  End Property

  '获取将标签替换的值

  Public Property Let LValues(ByVal Values)

  StrLValues=Values

  End Property

  '===========================================

  '类方法

  '===========================================

  '检查模板设置以及是否存在

  Private Function Check()

  If StrTemp="" Then

  Check="<span style='color:red;'>错误:未设置模板文件存储位置!</span>"

  Else

  If FSO.FileExists(StrTemp)=false Then

  Check="<span style='color:red;'>错误:指定模板不存在!</span>"

  Else

  Check=true

  End If

  End If

  End Function

  '读取模板页

  Public Sub ReadTemp()

  If Check()<>true Then

  Response.Write Check()

  Response.End()

  Else

  Set GetDatas=FSO.OpenTextFile(Server.MapPath(StrTemp))

  FileData=GetDatas.ReadAll

  GetDatas.Close

  Set GetData=nothing

  End If

  End Sub

  '替换内容

  Public Function Rep()

  If StrLabel="" Then

  Response.Write "<span style='color:red;'>错误:未设置欲替换的标签!</span>"

  Response.End()

  End If

  If StrLValues="" Then

  Response.Write "<span style='color:red;'>错误:未设置替换标签的数据!</span>"

  Response.End()

  End If

  FileData=Replace(FileData,StrLabel,StrLValues)

  End Function

  '输出

  Public Sub Echo()

  Response.Write FileData

  End Sub

  '生成静态页面

  Public Sub GetHtml()

  If StrHtmlName="" Then

  Response.Write "<span style='color:red;'>错误:未设置生成Html文件存储位置以及文件名称!</span>"

  Response.End()

  End If

  Set htmlwrite=FSO.CreateTextFile(Server.MapPath(StrHtmlName),true)

  '写入网页内容

  htmlwrite.WriteLine FileData

  htmlwrite.Close

  set htmlwrite=Nothing

  End Sub

  End Class

  %>

  用法示例:

  index.asp

  

复制代码 代码如下:

  <!--#include file="Awa_temp.Class.asp"-->

  <%

  Set awa=New AwaTemp

  With awa

  .Temp="temp.tpl"

  .ReadTemp

  .Label="{tl1}"

  .LValues="蛋疼"

  .Rep

  .Echo

  '.HtmlName="aa/index.html"

  '.GetHtml

  End With

  Set awa=nothing

  %>

  模版

  temp.tpl:

  

复制代码 代码如下:

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  <html xmlns="http://www.w3.org/1999/xhtml">

  <head>

  <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

  <title>无标题文档</title>

  </head>

  <body>

  <table width="200" border="1">

  <tr>

  <td>{tl1}</td>

  <td>{tl2}</td>

  <td>{tl3}</td>

  </tr>

  <tr>

  <td> </td>

  <td> </td>

  <td> </td>

  </tr>

  <tr>

  <td> </td>

  <td> </td>

  <td> </td>

  </tr>

  </table>

  </body>

  </html>