對於**特別是cms系統中,生成靜態頁面是必不可少的,靜態頁面不用去和資料庫打交道,可以提高頁面的訪問速度。生成靜態頁面的方法一般有
兩種,一種是以模板的形式生成,第二種是直接根據url來生成靜態頁面。
以模板形式生成的原理就是字串替換,在.net中已經提供了乙個字串替換的函式 replace
用模板生成靜態頁面共分三步,和把大象放在冰箱裡的步驟差不多
1.讀取模板(把冰箱門開啟)
2.替換字串(把大象放在冰箱裡)
3.儲存替換後的字串(把冰箱門關上)
我們建立乙個 aaa.htm檔案作為模板
<
html
xmlns=""
>
<
head
>
<
title
> $title$
title
>
head
>
<
body
>
<
h2>$title$
h2>
<
div>
內容:$content$
div>
body
>
html
>
其中$title$ 和$content$ 就是我們要替換的字串
encoding code = encoding.getencoding("gb2312");//用gb2312來編碼
string str = string.empty;
streamreader sr = new streamreader(path, code);//把檔案轉換成流
str = sr.readtoend();//把流從頭讀到尾
sr.close();//關閉讀流
string filename = datetime.now.tostring("yyyymmddhhmmss") + ".html";//建立乙個檔名
str = str.replace("$title$", textbox1.text );//替換title//
str = str.replace("$content$", textbox2.text );//替換content
//生成靜態檔案
sw.write(str);
sw.flush();
sw.close();
根據url生成就是直接讀入要生成的url並把返回的頁面存成 html頁面
encoding code = encoding.getencoding("gb2312");string str = null;
//讀取遠端路徑
webrequest temp = webrequest.create(textbox3.text .trim ());//這裡我們用textbox3來填寫url
webresponse mytemp = temp.getresponse();
streamreader sr = new streamreader(mytemp.getresponsestream(), code);
//讀取
str = sr.readtoend();
sr.close();
string filename = datetime.now.tostring("yyyymmddhhmmss") + ".html";
sw.write(str);
sw.flush();
sw.close();
源**:tohtml.rar
PHP生成靜態頁面的方法
雖然 方法 很多,但使用起來簡便容易的,我覺得還是先判斷已經生成的首頁檔案的生成時間和現有時間之間的差值,如果滿足某個值就開始生成,這種方法比較來得容易,不多說了,開始吧!在開始之前還是提一下三個函式吧 ob start ob end clean ob get contents ob start 是...
ASP生成靜態頁面的方法
asp2html with templet 我希望大家看到該標題就能讓想象到它的功能 1,with templet意思是,生成的頁面架構將採用某個已設定的模板,在此之前我的一篇教程中介紹過,希望各位在看本教程之前對asp採用模板應熟悉下。當然,不看也沒有問題,本教程同樣會提及精華部分的 具體參考 h...
PHP生成靜態頁面的方法
在php 開發中為了 推廣和seo等需要,需要對 進行全站或區域性靜態化處理,php生成靜態html頁面有多種方法,比如利用php模板 快取等實現頁面靜態化,今天就以php例項教程形式討論php生成靜態頁面的方法。頁面靜態化的方法,分為兩種,一種是偽靜態,就是url 重寫,一種是你真的靜態化。下面介...