asp生成静态网页的方法

不指定
2008-7-19 08:22 by:果面 PC应用 » 网络应用 本站原创 | |
asp生成静态网页的方法-不用模板

最近在研究asp生成静态网页的方法,看到一大段一大段的代码,头晕的不行,终于找到了一个简单的生成静态页的方法了,关键是代码短,看到超过30行的代码我就头晕。FSO生成静态HTML文件的时候替换模板标签一直是一个很麻烦的问题,至少我是这么认为的,还要别外做一个模板,麻烦!,今天看见有一个方法可以解决这个问题

如一个正常的index.asp页面,并且用ASP代码调出数据库中的内容,另建一个makehtml.asp的页面,加入一个textarea域,假设为name="body",将index.asp在textarea里调出来,如:
,将这个textarea包含在表单中,在接收表单页用创建FSO对象,如下生成index.html文件!

<%
filename="../index.html"
if request("body")<>"" then
set fso = Server.CreateObject("ing.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 。代码真短啊!



asp生成静态网页htm简单方法

先做2个文件:htm.asp 和 htm123.asp

htm.asp 是生成index.htm
htm123.asp 是生成index1.htm index2.htm index3.htm
可以一起用,也可以单个用!

使用条件:1,网站首页文件为:index.asp
        2,生成文件格式为:index.htm
        3,网站文档顺序为: index.htm,index.asp
         不对的请自行修改。

使用方法:

1,把htm.asp或htm123.asp(根据使用要求)拷贝到网站根目录。
2,运行文件:htm.asp或htm123.asp
  看到如下内容,表示生成成功!

  成功生成文件:
  x:/xxx/xxx\xxx\Index.htm

注:代码很简单,觉得功能不够请自行修改源文件!

以下是htm.asp的代码,复制到记事本里存为:htm.asp

<%
dim strUrl,id,FileName,FilePath,Do_Url,Html_Temp
Html_Temp="
    "

    Html_Temp = Html_Temp&"
  • "

    FileName = "Index"&".htm"
    FilePath = Server.MapPath("/")&"\"&FileName
    Html_Temp = Html_Temp&FilePath&"
  • "
    Do_Url = "http://"
    Do_Url = Do_Url&Request.ServerVariables("SERVER_NAME")&"/index.asp"

    strUrl = Do_Url
    dim objXmlHttp
    set objXmlHttp = Server.createObject("Microsoft.XMLHTTP")
    objXmlHttp.open "GET",strUrl,false
    objXmlHttp.send()
    Dim binFileData
    binFileData = objXmlHttp.responseBody
    Dim objAdoStream
    set objAdoStream = Server.createObject("ADODB.Stream")
    objAdoStream.Type = 1
    objAdoStream.Open()
    objAdoStream.Write(binFileData)
    objAdoStream.SaveToFile FilePath,2
    objAdoStream.Close()

    Html_Temp = Html_Temp&"
      "
      %>
      <%
      Response.Write ( "成功生成文件:" )
      Response.Write ( "
      " )
      Response.Write Html_Temp
      %>

      以下是htm123.asp的代码,复制到记事本里存为:htm123.asp

      <%
      dim strUrl,Item_Classid,id,FileName,FilePath,Do_Url,Html_Temp
      Html_Temp="
        "
        For i=1 To 3
        Html_Temp = Html_Temp&"
      • "
        Item_Classid = i
        FileName = "Index"&Item_Classid&".htm"
        FilePath = Server.MapPath("/")&"\"&FileName
        Html_Temp = Html_Temp&FilePath&"
      • "
        Do_Url = "http://"
        Do_Url = Do_Url&Request.ServerVariables("SERVER_NAME")&"/index.asp"
        Do_Url = Do_Url&"?Item_Classid="&Item_Classid
        strUrl = Do_Url
        dim objXmlHttp
        set objXmlHttp = Server.createObject("Microsoft.XMLHTTP")
        objXmlHttp.open "GET",strUrl,false
        objXmlHttp.send()
        Dim binFileData
        binFileData = objXmlHttp.responseBody
        Dim objAdoStream
        set objAdoStream = Server.createObject("ADODB.Stream")
        objAdoStream.Type = 1
        objAdoStream.Open()
        objAdoStream.Write(binFileData)
        objAdoStream.SaveToFile FilePath,2
        objAdoStream.Close()
        Next
        Html_Temp = Html_Temp&"
          "
          %>
          <%
          Response.Write ( "成功生成文件:" )
          Response.Write ( "
          " )
          Response.Write Html_Temp
          %>

          再来一简单的ASP生成静态网页的方法

          将以下代码另存为mk.asp 运行即可生成index.htm

            <%url = "http://网站网址/index.asp"
            set http=Server.createobject("Msxml2.XMLHTTP")
            Http.open "GET",url,false
            Http.send()
            set objStream = Server.CreateObject("ADODB.Stream")
            objStream.type = 1
            objStream.open
            objstream.write http.responseBody
            objstream.saveToFile server.mappath("index.htm"),2
            objstream.close
            Response.Write "生成静态网页成功!浏览生成的网页"%>
评论(0) 引用(0) 阅读(1877)