我希望大家看到该标题就能让想象到它的功能:
1,WITH TEMPLET 意思是,生成的页面架构将采用某个已设定的模板,在此之前我的一篇教程中 介绍过,希望各位在看本教程之前对 ASP 采用模板应熟悉下。(当然,不看也没有问题,本教程 同样会提及精华部分的:)具体参考: cnbruce/blog/showlog.asp?cat_id=26&;log_id=474
2, ASP2HTML。 不要我再说 ASP 转变成 HTML 的好处了吧, 呵呵, 其中最值得知道的就是: 静态 HTML 页和动态页对服务器的要求承受能力小得多,同样,静态 HTML
搜索几率远比动态页面的多得多。
那么,我现在需要处理的技术问题就是: 1,如何实现模板技术?(先参看下上篇文章吧) 2,如何实现 2HTML 技术? 3,如何让模板技术与 2HTML 技术结合?
一、先进行技术原理分析
1,模板技术参看 cnbruce/blog/showlog.asp?cat_id=26&;log_id=474
2,2HTML 技术又该如何实现呢?如何使得 ASP 页面转变为 HTML?一般都会想到 FSO 组件,因为 该组件能新建任何文件格式。
那么其整个运行过程是怎么样的呢? a,提供信息输入页面进行信息收集; b,接受信息值先保存数据库,再 FSO 生成文件; c,技术性完成任务,显示刚被创建的 HTML 文件的路径地址。
该技术的实现过程中有如下几个难点:
i,FSO 生成的文件是直接放在一个大文件夹下,还是单独放在某个每日更新的子文件夹中?可能 表述不准确,这样理解吧:相信通过 FSO 生成的文件随着时间的推移,文件会越来越多,管理也 会越来越乱……通常你可能看到一些地址诸如 xxx/a/2004-5-20/200405201111.html 可以分析得出应该是建立了当前日期的文件夹。这样,一天就是一个文件夹的页面内容,查看管 理也就显得比较合理。
ii,我在试图通过以上方法建立文件夹的时候,又发现了第二个
问题。第一次通过 FSO 建立以当 前日期命名的文件夹,没有问题。当我有新的文件需要生成时,因为是同一个程序,所以,其又
将会执行建立同样的文件夹。此时,FSO 组件会发现该路径已存在……卡壳-_-! 继续处理,在首 行添加代码:
引用:
On Error Resume Next
嘿嘿,达到自欺欺人、掩耳盗铃的效果。
当然规矩的用法是判断文件夹的有无 引用:
<% Set fso = Server.CreateObject("Scripting.FileSystemObject") if (fso.FolderExists(Server.MapPath(folder))) then '判断如果存在就不做处理 else '判断如果不存在则建立新文件夹 fso.CreateFolder(Server.MapPath(folder)) end if %>
iii,文件夹是建立了,文件该如何建立呢?主要也就是文件名的生成。当然这个就需要自 己来写个函数,功能就是如何生成文件名:) 引用:
<% function makefilename(fname) fname = fname '前
fname 为变量,后 fname 为函数参数引用 fname = replace(fname,"-","") fname = replace(fname," ","")
fname = replace(fname,":","") fname = replace(fname,"PM","") fname = replace(fname,"AM","") fname = replace(fname,"上午","") fname = replace(fname,"下午","") makefilename = fname &; ".html" end function %>
引用函数则: <%fname = makefilename(now())%>
其实嘛,就是以年月日时分秒命名的文件。
iv,最后,生成的文件该如何查看到?当然需要把生成文件的路径保存的数据库中,并且添 加到相对应的记录集中了。当然,这在下面的数据库设计时会提及到。
3,模板技术和 2
HTML 技术的结合:将模板中特殊代码的值替换为从表单接受过来的值,完 成模板功能;将最终替换过的所有模板代码生成 HTML 文件。需要注意的是:替换应能将输 入数据的格式或者支持 UBB 的代码彻底改变。
二,再进行数据库设计
目前数据库的设计需要两个表:一个是存放模板数据的;一个是存放信息内容的。
1,建立新数据库 asp2html.mdb
2,
设计新数据库表 c_moban 字段 m_id(自动