如何將ASP網(wǎng)站生成靜態(tài)html頁面?相信還是有很多小伙伴們不知道這個技巧的,那么現(xiàn)在我們就跟隨錯新小編一起去學(xué)習(xí)學(xué)習(xí)吧,希望對你學(xué)習(xí)asp有所幫助。
生成HTML方法主要步驟只有兩個:?
一、獲取要生成的html文件的內(nèi)容?
二、將獲取的html文件內(nèi)容保存為html文件?
我在這里主要說明的只是第一步:如何獲取要生成的html文件的內(nèi)容:?
目前常用獲取html文件的內(nèi)容的方法有以下幾種:?
1、?
str="<html標記>內(nèi)容</html標記>"?
str=str&"<html標記>內(nèi)容</html標記><html標記>數(shù)據(jù)庫讀取內(nèi)容....</html標記>....."?
這種方法與是在腳本內(nèi)寫要生成的html內(nèi)容,不太方便預(yù)覽生成頁面的內(nèi)容,無法可視化布局頁面,更改html模板時會更加復(fù)雜。?
用這種方法的人很多,但我感覺這種方法是最不方便的。?
2、?制作單獨的HTML模板頁,動態(tài)的內(nèi)容用特定的字符作為標記(如:有人用$title$標記為網(wǎng)頁標題),用ADODB.Stream或者Scripting.FileSystemObject將其模板內(nèi)容載入,然后再用替換方法把原先定好的標記替換為動態(tài)內(nèi)容
如:
Replace(載入的模板內(nèi)容,"$title$",rs("title"?)?)??
3、?用XMLHTTP或serverXMLHTTP獲取動態(tài)頁所顯示的HTML內(nèi)容,?
我常用的生成html文件的實例:?
‘-----------------翟振愷(小琦)?
‘weburl是要獲取的動態(tài)頁地址?
‘getHTTPPage(weburl)是獲取動態(tài)頁內(nèi)容的函數(shù)?
weburl="http://"&Request.ServerVariables("SERVER_NAME")&"/contact.asp?id="&rs("id")&""‘指定動態(tài)頁地址?
body=getHTTPPage(weburl)‘用函數(shù)取到動態(tài)頁地址的內(nèi)容?
‘-----------------翟振愷(小琦)?
此方法最大的好處就是不用費力氣專門去寫靜態(tài)的模板頁面,只是將原來就有的動態(tài)頁面轉(zhuǎn)換為HTML靜態(tài)頁面,但生成速度不是太快。?
我常用的生成HTML的方法就是第3種:用XMLHTTP獲取動態(tài)頁生成的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?
objAdoStream.Open()?
objAdoStream.Write("文件內(nèi)容")?
objAdoStream.SaveToFile?要生成文件路徑和文件名.htm,2?
objAdoStream.Close()?
以上就是將ASP網(wǎng)站生成靜態(tài)html頁面的技巧介紹,看完后你是否有了了解呢?如果有大家有疑問也可以留言交流。
新聞熱點
疑難解答