產生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()
‘-----------------翟振愷(小琦)