簡單產生靜態頁面辦法

來源:互聯網
上載者:User
最近無意中發現一種簡單的辦法,比較適合新手,不敢獨享,拿出來給大家分享一下。

中心思想就是調用動態模板(也就是你做好ASP網頁)。用這種辦法可以把幾乎所有的ASP網頁都變成HTM頁,從而實現產生靜態頁的夢想。

例子:
<textarea name="a" cols="60" rows="6" id="a"><!--#include file="index.asp" --></textarea>

在ASP網頁裡面直接顯示到表單的文本欄裡,方便修改。注意:這時候在你文本欄裡的index.asp代碼已經變成普通的HTM組成的靜態頁代碼了。這時提交表單傳到資料庫中。

然後的步驟就是:調出資料庫的index.asp靜態頁,利用FSO之類的寫入HTM檔案中,儲存。

如果是新聞發布的話,建議產生STHML檔案,就是新浪用那種,就圖它可以執行include語句,真是海闊天空任我遊啊,舉一反三,詳細說明。

在資料庫建立頭部欄位,左部,右部,底部(如果你牛X的話可以加上ID欄位,以後多做幾套模板愛產生啥樣產生啥樣。),這幾個欄位一定要TEXT型,因為裝的多(就算是新浪的首頁多分幾塊也夠用了。)

做好正常的ASP頁(注意:你在做ASP頁的時候就應該把頭,左,右,下都分開做,因為我們調用時是一個一個調用的。),上面是頭,左面是新聞內容,右面是新聞列表,下面是底,隨便做個HTML模板吧。(不會做的看最後面)

最後:
利用replace的替換大法。

比如先產生頭部,要就把模板裡的代碼替換成資料庫裡讀出的頭部欄位裡存的代碼,依次類推,最後把所有取出的代碼整合寫入HTM檔案裡面。

友情提示範例程式碼:
set rs = conn.execute("select * from html")
head = rs("head")
left = rs("left")
right = rs("right")
foot = rs("foot")
rs.close
set rs = nothing
html = head&left&right&foot
沒測試,反正就是這個意思。


當然你在產生的時候不可能只產生一條,需要產生多條,我們可以把這個過程當作一個函數,然後:
set rs = server.createobject("adodb.recordset")
sql = "select * from html"
rs.open sql,conn,1,1
do while not rs.eof
call 產生過程函數
rs.movenext
loop
rs.close
set rs = nothing


寫到這裡忘了一個最重要的東西,暈死,迷迷糊糊都不知道在寫些什麼。忘了加入文章資訊了,汗。。。,不過我想大家都知道應該怎麼往裡加資訊了。我再說就是廢話了。


SORRY,我還沒說完。


關於HTM模板:

<html>
<head>
<meta name="keywords" content="$keywords$" />
<meta name="description" content="$description$" />
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>$title$</title>
<style type="text/css">
<!--
body {
       margin-left: 0px;
       margin-top: 0px;
}
body,td,th {
       font-family: 宋體;
       font-size: 12px;
       color: #666666;
}
.newtitle {
       font-size: 14px;
       font-weight: bold;
}
-->
</style></head>

<body>
<table width="980" border="0" align="center" cellpadding="0" cellspacing="0" style=" border:#CCCCCC; border-width:1px; border-style:solid">
  <tr>
    <td colspan="2">$head$</td>
  </tr>
</table>
<table height="5"><tr><td></td></tr></table>
<table width="980" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td width="69%" align="left" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0" style=" border:#CCCCCC; border-width:1px; border-style:solid">
      <tr>
        <td height="60" align="center"><span class="newtitle">$newtitle$</span></td>
      </tr>
      <tr>
        <td><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
            <tr>
              <td>$content$ </td>
            </tr>
          </table></td>
      </tr>
      <tr>
        <td height="30">發布時間:$newother$</td>
      </tr>
    </table>
       <table height="5"><tr><td></td></tr></table>
       </td>
    <td width="1%" rowspan="2" align="left" valign="top"> </td>
    <td width="30%" rowspan="2" align="left" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0"  style=" border:#CCCCCC; border-width:1px; border-style:solid">
      <tr>
        <td align="left" valign="top">$other$</td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td align="left" valign="top">
       <table width="100%" border="0" cellspacing="0" cellpadding="0" style=" border:#CCCCCC; border-width:1px; border-style:solid">
      <tr>
        <td height="30">新聞來源:$about$</td>
      </tr>
    </table>
       </td>
  </tr>
  <tr>
    <td colspan="3"> </td>
  </tr>
</table>
<table height="5"><tr><td></td></tr></table>
<tbody>
<table width="980" border="0" align="center" cellpadding="0" cellspacing="0" style=" border:#CCCCCC; border-width:1px; border-style:solid">
  <tr>
    <td colspan="2">$foot$</td>
  </tr>
</table>
</tbody>
</body>
</html>

其實用不用$符號都無所謂,問題這符號很吉利。


SORRY,還有:

產生頁面時容易出現的問題:

如果在網頁中含有JAVASCRIPT肯定少不了“‘”(單引號),這個符號SQL跟他有仇,所以我們最好還是用replace的替換大法,把它替換成如"藍藍藍藍藍"或"色色色色色"等不容易重複的字元,產生時在把他replace過來.

Text欄位雖然裝的多但也是有限制的所以適可而止,裝太多肯定存不下的.

產生的時候最好不要全部產生,我想絕大多數的網站都是一次產生十幾個或幾十個頁面,所以最好在產生頁面加入表單然後讓管理員選擇想產生的新聞,之後用split函數拆分出需要產生網面的ID.


點一下題:前面我說過的產生STHML檔案它不可以包含.ASP檔案,要用的話只能用iframe,但可以包含.HTM,說到這裡全明白了吧,產生HTM一點不雜複.


最後說一下這種方法產生的較率比較低,但肯定是最適合新手的,我們在租來的空間裡千萬別亂試,要產生最好在本地產生好然後打包上傳到空間裡.



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。