FSO生成靜態HTML文件的時候替換模板標簽一直是一個很麻煩的問題,至少我是這麼認為的,還要別外做一個模板,麻煩!,我今天看見有一個方法可以解決這個問題
如一個正常的index.asp頁面,並且用ASP代碼調出數據庫中的內容,另建一個makehtml.asp的頁面,加入一個textarea域,假設為name="body",將index.asp在textarea裡調出來,如:
<textarea name="body"><!--#include file="index.asp"--></textarea>,將這個textarea包含在表單中,在接收表單頁用創建FSO對象,如下生成index.html文件!
復制代碼 代碼如下:
<%
filename="../index.html"
if request("body")<>"" then
set fso = Server.CreateObject("Scripting.FileSystemObject")
set fout = fso.CreateTextFile(server.mappath(""&filename&""))
fout.write request.form("body")
fout.close
set fout=nothing
set fso=nothing
end if
%>
這樣index.html文件就生成了,連模板都用不著,只要將正常情況下使用的ASP文件讀取到textarea裡就可以了,目前尚未發現問題!當然前提是服務器要支持FSO