网上找到的一个生成静态页面的方法,我简单加工了一下,方便测试集成:
以简单新闻系统为例:添加新闻 生成静态页面 删除新闻
[程序示例下载]
2007-3-5更新:
1、自动检测创建“/年/月/”格式目录存档生成的静态页面
2、将newsview.asp挪出/news文件夹
1、自动检测创建“/年/月/”格式目录存档生成的静态页面
2、将newsview.asp挪出/news文件夹
核心代码:
sub asp2html() '如果文件已经存在,则替换原来的文件 '可以集成到信息发布、修改页面,及时生成静态页面 dim strUrl,Item_Classid,id,FileName,FilePath nstrsql="select * from news order by news_id desc" set nrs=server.createobject("adodb.recordset") nrs.open nstrsql,conn,1,1 if not nrs.eof then '循环数据库记录 For i=1 To nrs.recordcount '可以修改为需要生成静态页面的信息id,只需传递要生成的信息id的范围 Item_Classid = nrs("news_id") FileName = "news_"&Item_Classid&".htm" '生成页面存放的目录 FilePath = Server.MapPath("news/")&"\"&FileName '需要生成的页面 strUrl="http://"&Request.ServerVariables("SERVER_NAME")&"/asp2html/news/newsview.asp?newsid="&Item_Classid dim objXmlHttp '建立一个对象,解析传递过来的strUrl页面的html代码 set objXmlHttp = Server.CreateObject("Microsoft.XMLHTTP") objXmlHttp.open "GET",strUrl,false objXmlHttp.send() '将解析到的html加到binFileData中 Dim binFileData binFileData = objXmlHttp.responseBody '将binFileData写入文件 Dim objAdoStream set objAdoStream = Server.CreateObject("ADODB.Stream") objAdoStream.Type = 1 objAdoStream.Open() objAdoStream.Write(binFileData) objAdoStream.SaveToFile FilePath,2 objAdoStream.Close() Next objXmlHttp.close set objXmlHttp=nothing objAdoStream.close set objAdoStream=nothing end if Response.Write "<script language='javascript' type='text/javascript'>alert('生成静态页面成功!');this.location.href='newslist.asp';</script>" nrs.close set nrs=nothing end sub
这种方法实现HTML化的问题比较多,如果单独实现某页HTML的可行,复杂的方法行不通
发表评论
相关文章
国内AI资源汇总,AI聊天、AI绘画、AI写作、AI视频、AI设计、AI编程、AI音乐等,国内顺畅访问,无需科学上网。
扫码或点击进入:萤火AI大全
文章分类
最新评论