ASP網(wǎng)站生成靜態(tài)html頁(yè)面技術(shù)小結(jié)
2024-05-04 10:57:58
供稿:網(wǎng)友
生成HTML方法主要步驟只有兩個(gè):
一、獲取要生成的html文件的內(nèi)容
二、將獲取的html文件內(nèi)容保存為html文件
我在這里主要說(shuō)明的只是第一步:如何獲取要生成的html文件的內(nèi)容:
目前常用獲取html文件的內(nèi)容的方法有以下幾種:
1、
str="<html標(biāo)記>內(nèi)容</html標(biāo)記>"
str=str&"<html標(biāo)記>內(nèi)容</html標(biāo)記><html標(biāo)記>數(shù)據(jù)庫(kù)讀取內(nèi)容....</html標(biāo)記>....."
這種方法與是在腳本內(nèi)寫(xiě)要生成的html內(nèi)容,不太方便預(yù)覽生成頁(yè)面的內(nèi)容,無(wú)法可視化布局頁(yè)面,更改html模板時(shí)會(huì)更加復(fù)雜。
用這種方法的人很多,但我感覺(jué)這種方法是最不方便的。
2、 制作單獨(dú)的HTML模板頁(yè),動(dòng)態(tài)的內(nèi)容用特定的字符作為標(biāo)記(如:有人用$title$標(biāo)記為網(wǎng)頁(yè)標(biāo)題),用ADODB.Stream或者Scripting.FileSystemObject將其模板內(nèi)容載入,然后再用替換方法把原先定好的標(biāo)記替換為動(dòng)態(tài)內(nèi)容
如:
Replace(載入的模板內(nèi)容,"$title$",rs("title" ) )
3、 用XMLHTTP或serverXMLHTTP獲取動(dòng)態(tài)頁(yè)所顯示的HTML內(nèi)容,
我常用的生成html文件的實(shí)例:
‘-----------------翟振愷(小琦)
‘weburl是要獲取的動(dòng)態(tài)頁(yè)地址
‘getHTTPPage(weburl)是獲取動(dòng)態(tài)頁(yè)內(nèi)容的函數(shù)
weburl="http://"&Request.ServerVariables("SERVER_NAME")&"/contact.asp?id="&rs("id")&""‘指定動(dòng)態(tài)頁(yè)地址
body=getHTTPPage(weburl)‘用函數(shù)取到動(dòng)態(tài)頁(yè)地址的內(nèi)容
‘-----------------翟振愷(小琦)
此方法最大的好處就是不用費(fèi)力氣專(zhuān)門(mén)去寫(xiě)靜態(tài)的模板頁(yè)面,只是將原來(lái)就有的動(dòng)態(tài)頁(yè)面轉(zhuǎn)換為HTML靜態(tài)頁(yè)面,但生成速度不是太快。
我常用的生成HTML的方法就是第3種:用XMLHTTP獲取動(dòng)態(tài)頁(yè)生成的HTML內(nèi)容,再用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="文件內(nèi)容"用WriteLine方法生成文件
txt.WriteLine data1
data2="文件內(nèi)容"‘用Write方法生成文件
txt.Write data2
txt.Close
txt.fso
‘-----------------翟振愷(小琦)
2、
‘-----------------翟振愷(小琦)
Dim objAdoStream
set objAdoStream = Server.createObject("ADODB.Stream")
objAdoStream.Type = 1