扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
如果有朋友需要的话,请发封邮件给我,我会回复的,谢谢 BlueDestiny###126.com
必要的说明
这些代码是去年的作品了,在这中间经过几次的变更,当然,错误在所难免。如果您发现错误,请通知我,方便我修改此代码。代码并不是非常标准,阅读的时候可能会有一些不方便:(
代码我只是分离出来,并做了一点点的改动和不影响现在功能的删除,因为有的功能涉及的文件较多。还要说明的是,在cls.template.asp中的代码并非完善,我记得以前我思考的时候,想把它做成完整的一个template的功能,不仅仅局限于一个替换的概念,甚至想过单独封装成COM+,并与COM+的特性关联,使template具有事务,多线程等功能。但终因时间原因,这个愿望没有实现了,有兴趣的朋友,我们可以一起交流,点击下面的相关链接可以与我联系。现在这个template与生成静态页的类只是我心里想的一个基本情况,方便还是很方便的,接口也不算复杂,相关的配置,都可以在CONST.asp里调整。
我在template里并没有过多的用正则来替换,用正则来替换是最方便快捷的了,有兴趣的朋友也可以尝试一下。(用JS比VBS会更方便一些)
技术说明
1.cls_template.asp: 功能:具备<template:ubb>标签(UBB),<template:rs>(替换数据据中的字段), <template:ct>(自定义标签), <template:pg>(分页标签,并没有完成的,只完成了部分)。模板文件为xml或其它的文件都可以,我这里用的是xml文件做为模板。
删去部分为:template:pg标标签的智能分析部分。以及注释掉replaceunsafetag的功能。
2.cls_BuildStaticFile.asp: 功能:生成指定后缀名的页面,如:xml, shtml, html, htm这些都可以了配置常量为:const STATICFILE_EXTNAME=".html",这里面还有几个Function,如:BuildStaticFile(SQL),调用时直接给参数SQL语句即可生成,比较方便。其它几个Function也都是类似的,删除静态页也可以直接给SQL语句即可(DeleteStaticFile(SQL))。 这里也可以用此class本身的方法来替换标签,obj.templateTag="a,b,c":obj.BuildFileCustom()。
有自动生成文件夹的功能。也可以多级生成,比如obj.filesFolder="a/b/c"
删去部分为:断点功能,使其能够记录上次生成静态页面的最后操作ID。
简单的例子 参考
cls_template.asp 部分
sql = "SELECT top 1 * FROM [tbl_article]" Set rsObj = Server.CreateObject("ADODB.recordset") rsObj.Open sql Set objTemplate = new cls_template 生成实例 call objTemplate.loadtemplate("article.xml","article_detail") 载入模板template_folder在const.asp里配置 objTemplate.activers = rstObj 当前活动recordset型变量 stream = objTemplte.getStream() 返回Stream值 response.write(stream) 打印
cls_BuildStaticFile.asp 部分
retvalue = BuildStaticFile("SELECT top 1 * FROM [NVR_Article] WHERE art_id=" & art_id & "") if (retvalue=true) then response.write("成功生成页面") else response.write("未生成页面")
Download
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者