日期:2011-12-25  浏览次数:20943 次

最近无意中发现一种简单的办法,比较适合新手,不敢独享,拿出来给大家分享一下。

中心思想就是调用动态模板(也就是你做好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>
       <