快速导读:
ASP生成HTML静态的方法很多,类也很多,但是下面这个从Tsys CMS里面提取出的类,我个人认为是非常经典的,值得研究ASP的朋友学习和改进。

知识必备:
需要一定ASP基础,懂得ASP类(Class)的使用

适用范围:
适合html大文档需要部分更新某个局部区域的情况

代码与讲解:

以下为ASP内容:

Class Fox_TemplateClass
    Public FilePath                             '模板文件
    Private Template                            '模板暂存变量
    Public StartElement                         '元素开始标签
    Public EndElement                           '元素结束标签
    Public Value                                '插入内容

Private Fso
    Private Fle
    Private regEx
    Private FileState                            '文件状态

Private Sub Class_Initialize
        FileState=False
        FilePath=""
        Template=""
        StartElement=""
        EndElement=""
        Set regEx = New RegExp
            With regEx
                .Multiline = True
                .IgnoreCase = True
                .Global = True
            End With
        Set Fso = Server.CreateObject("Scripting.FileSystemObject")
    End Sub

Private Sub class_Terminate
        FilePath=""
        Template=""
        StartElement=""
        EndElement=""
        Set regEx=Nothing
        Set Fle=Nothing
        Set Fso=Nothing
    End sub

Private Function FilterStr(str)
        FilterStr=str
        If str="" Or IsNull(FilterStr) Then
            FilterStr=""
        Else
            FilterStr=Replace(FilterStr,"\","\\")
            FilterStr=Replace(FilterStr,"(","\(")
            FilterStr=Replace(FilterStr,")","\)")
            FilterStr=Replace(FilterStr,"*","\*")
            FilterStr=Replace(FilterStr,"?","\?")
            FilterStr=Replace(FilterStr,"{","\{")
            FilterStr=Replace(FilterStr,"}","\}")
            FilterStr=Replace(FilterStr,".","\.")
            FilterStr=Replace(FilterStr,"+","\+")
            FilterStr=Replace(FilterStr,"[","\[")
            FilterStr=Replace(FilterStr,"]","\]")
        End If
    End Function

'//设置模板文件路径
    Public Function OpenTemplate(mFilePath)
        Set Fle=Fso.OpenTextFile(mFilePath,1)
        Template=Fle.ReadAll
        Fle.Close
        FileState=True
        FilePath=mFilePath
    End Function

'//规换模版元素,元素标签一般格式为:"<!-元素标签-开始--><!--元素标签-结束-->",你当然也可以自义
    '//无素标签不区分大小写
    Public Function ReplaceTemplate()
        If (Not FileState) Or Template="" Or StartElement="" Or EndElement="" Then
            Exit Function
        End If
        Dim strPatrn
            strpatrn=FilterStr(StartElement) & "[\S\s]*?" & FilterStr(EndElement)
        regEx.Pattern = strPatrn
        Template=regEx.Replace(Template,StartElement & vbCrLf & Value & vbCrLf & EndElement)
    End Function

'//保存新的模板内容
    Public Function Save()
        If (Not FileState) Then
            Exit Function
        End If
        Set Fle=Fso.OpenTextFile(FilePath,2)
        Fle.Write Template
        Fle.Close
    End Function

'//另存模板内容
    Public Function SaveAs(mFilePath)
        If (Not FileState) Then
            Exit Function
        End If
        Set Fle=Fso.OpenTextFile(mFilePath,2,1)
        Fle.Write Template
        Fle.Close
    End Function
End Class

这个类用法比较特别,它采用手动更新方式进行,自动进行开始标签<!--Template Start-->和结束标签<!--Template End-->的识别,然后对开始标签和结束标签框定的区域进行部分更新,最后生成HTML。

用法实例:

以下为引用的内容:

Dim TClass
Set TClass=New Fox_TemplateClass
TClass.OpenTemplate("e:/t.htm")
TClass.StartElement="<!--资源标题标识-开始-->"
TClass.EndElement="<!--资源标题标识-结束-->"
TClass.Value="这是资源标题的替换内容"
TClass.ReplaceTemplate()

TClass.StartElement="<!--资源内容-开始-->"
TClass.EndElement="<!--资源内容-结束-->"
TClass.Value="我将替换成资源的内容"
TClass.ReplaceTemplate()

TClass.Save()
TClass.SaveAs("e:/t1.htm")
Set TClass=Nothing

转载于:https://www.cnblogs.com/cosiray/archive/2009/08/22/1551948.html

ASP静态HTML(局部)生成类相关推荐

  1. ASP.NET Core Razor生成Html静态文件

    一.前言 最近做项目的时候,使用Util进行开发,使用Razor写前端页面.初次使用感觉还是不大习惯,之前都是前后端分离的方式开发的,但是使用Util封装后的Angular后,感觉开发效率还是杠杠滴. ...

  2. 【UML 建模】UML建模语言入门 -- 静态图详解 类图 对象图 包图 静态图建模实战

    发现个好东西思维导图, 最近开始用MindManager整理博客 . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/deta ...

  3. php用asp文件js,asp下用fso生成js文件的代码

    asp下用fso生成js文件的代码 更新时间:2008年06月24日 23:47:54   作者: asp下使用fso生成js代码的方法 Set fso= Server.CreateObject(&q ...

  4. 【java】Java运行时动态生成类几种方式

    1.概述 转载:Java运行时动态生成类几种方式 这里发现自己不知道的,原来Java 还能自己编译自己,学到了. 最近一个项目中利用规则引擎,提供用户拖拽式的灵活定义规则.这就要求根据数据库数据动态生 ...

  5. asp.net中使用excel类导出Excel文件,并导出到web客户端中遇到的问题

    asp.net中使用excel类导出Excel文件,并导出到web客户端中遇到错误: 检索Com类工厂中CLSID为{000245-0000-0000-C000-000000000046}的组件失败, ...

  6. 在 UML 静态结构图中使用类和对象

    在 UML 静态结构图中使用类和对象 向类.组件或其他元素添加接口 在静态结构图.组件图或部署图中,将棒糖形"接口"形状(用一条直线加圆圈表示)拖到绘图页上. 将不带圆圈的端点粘附 ...

  7. 头文件和库文件区别,动态库和静态库的区别,动静态库的生成

    文章目录 一.什么是头文件?什么是库文件?有什么区别? 先说总结 目标文件 二.什么是静态库?什么是动态库?有什么区别? 三.为什么只用在程序头部写上包含的头文件,头文件中并没有实现内容就可以使用声明 ...

  8. MyBates-Plus学习日记02 生成类和效果

    代码生成器生成运行后 自动创建 实体类,Mapper层.Service层.Controller层 实体类 实体类创建会创建lomok注解和MBP的表注解 @Data @EqualsAndHashCod ...

  9. Java ASM框架与字节码插桩的常见用法(生成类,修改类,方法插桩,方法注入)

    前言 ASM 是一款读写Java字节码的工具,可以达到跳过源码编写,编译,直接以字节码的形式创建类,修改已经存在类(或者jar中的class)的属性,方法等. 通常用来开发一些Java开发的辅助框架, ...

  10. asp无组件上传类的应用实例/化境HTTP上传程序

    原版 upload_5xsoft.inc 文件内容 <SCRIPT RUNAT=SERVER LANGUAGE=VBSCRIPT> dim Data_5xsoft Class upload ...

最新文章

  1. 桥接模式和路由模式区别_【微课堂】路由器设置:桥接模式vs路由模式
  2. 胡小明:大数据应用方向思考
  3. operator.itermgetter() (Python)
  4. C++类的组合和前向引用
  5. 前端:HTML/02/排版标记,块元素,行内元素,html字符实体,列表标记,图片标记
  6. EPTP 和 EPT 分页结构条目的格式
  7. 蓝桥杯 ADV-150算法提高 周期字串
  8. hyperparameter_hunter 超参数优化模块实践
  9. 【Unity】12.2 导航网格寻路简单示例
  10. apple 苹果官方的demo 下载地址
  11. 优化 RTD 温度传感系统:挑战
  12. css 设置冻结表格头,固定/冻结行表头、列表头的做法
  13. 2017年数据库技术盘点
  14. 阿里云acp认证, 阿里云acp考试介绍
  15. 林子雨教程中sqoop安装过程时区问题解决
  16. 互联网开发搞手游创作1-为何有这想法
  17. yum-utils与yum-config-manager
  18. 阿里面试:分析为什么B+树更适合作为索引的结构以及索引原理
  19. 九日集训 总结与展望
  20. linux双显卡配置_Linux系统怎么配置双显卡

热门文章

  1. 测试AtomicInteger与普通int值在多线程下的递增操作
  2. 【ASP.NET Web API教程】5.2 发送HTML表单数据:URL编码的表单数据
  3. BlackBerry App之Hello World
  4. 算法题存档20200505
  5. java内存区_基于jvm java内存区域的介绍
  6. ElasticSearch 小记
  7. rpc调试工具grpcui的安装使用
  8. Centos 系统swap虚拟内存添加与删除配置
  9. linux tomcat 改端口号,Ubuntu中Tomcat更改80端口
  10. oracle 自动表分析,其实 Oracle 直方图自动统计算法存在这些缺陷!