生成HTML方法主要步驟只有兩個:
一、獲取要生成的html文件的內容
二、將獲取的html文件內容保存為html文件
我在這裡主要說明的只是第一步:如何獲取要生成的html文件的內容:
目前常用獲取html文件的內容的方法有以下幾種:
1、
str="<html標記>內容</html標記>"
str=str&"<html標記>內容</html標記><html標記>數據庫讀取內容....</html標記>....."
這種方法與是在腳本內寫要生成的html內容,不太方便預覽生成頁面的內容,無法可視化布局頁面,更改html模板時會更加復雜。
用這種方法的人很多,但我感覺這種方法是最不方便的。
2、 制作單獨的HTML模板頁,動態的內容用特定的字符作為標記(如:有人用$title$標記為網頁標題),用ADODB.Stream或者Scripting.FileSystemObject將其模板內容載入,然後再用替換方法把原先定好的標記替換為動態內容
如:
Replace(載入的模板內容,"$title$",rs("title" ) )
3、 用XMLHTTP或serverXMLHTTP獲取動態頁所顯示的HTML內容,
我常用的生成html文件的實例:
‘-----------------翟振恺(小琦)
‘weburl是要獲取的動態頁地址
‘getHTTPPage(weburl)是獲取動態頁內容的函數
weburl="http://"&Request.ServerVariables("SERVER_NAME")&"/contact.asp?id="&rs("id")&""‘指定動態頁地址
body=getHTTPPage(weburl)‘用函數取到動態頁地址的內容
‘-----------------翟振恺(小琦)
此方法最大的好處就是不用費力氣專門去寫靜態的模板頁面,只是將原來就有的動態頁面轉換為HTML靜態頁面,但生成速度不是太快。
我常用的生成HTML的方法就是第3種:用XMLHTTP獲取動態頁生成的HTML內容,再用ADODB.Stream或者Scripting.FileSystemObject保存成html文件。
第二步是生成文件的方法:
ASP裡常用的有用ADODB.Stream生成文件和Scripting.FileSystemObject生成文件兩種
1、 Scripting.FileSystemObject生成文件方法:
‘-----------------翟振恺(小琦)
Set fso = CreateObject("Scripting.FileSystemObject")
File=Server.MapPath("要生成文件路徑和文件名.htm")
Set txt=fso.OpenTextFile(File,8,True)
data1="文件內容"用WriteLine方法生成文件
txt.WriteLine data1
data2="文件內容"‘用Write方法生成文件
txt.Write data2
txt.Close
txt.fso
‘-----------------翟振恺(小琦)
2、
‘-----------------翟振恺(小琦)
Dim objAdoStream
set objAdoStream = Server.createObject("ADODB.Stream")
objAdoStream.Type = 1
objAdoStream.Open()
objAdoStream.Write("文件內容")
objAdoStream.SaveToFile 要生成文件路徑和文件名.htm,2
objAdoStream.Close()
‘-----------------翟振恺(小琦)