JSP結合JavaBean產生靜態頁面樣本
1、為什麼要做:節省不停操作資料庫的開支,減少解析JSP頁面的開支
2、怎麼做:很簡單,就是利用檔案操作,把需要的內容與現成的模板相合成再寫入一個新的靜態WEB頁面就OK。
3、功能擴充:這裡只是利用檔案寫出的方式,將組合的HTML的內容寫入到一個WEB頁面裡去,但是,為了引用,讓其的頁面知道有該頁面的存在,我們還是得在資料庫或者是靜態頁面裡加上這個資訊。為了簡便,你這裡就可以採用資料庫,當然你要全部採用靜態頁面也可以,可能操作就複雜一點,不過,如果你能夠完整理解這個樣本,那其它的都不是問題。
3.1 檔案名稱的產生:可以用隨機產生的方式,怎麼產生就看個人的喜好了,可以是全數字,也可以加字母等等。
3.2 儲存檔案名稱及路徑到資料庫:這樣前台用一個頁顯示所有已經存在的靜態頁面,方便訪問。
4、下面是一個簡單的樣本:
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
publicclass JspToStaticHTMLTest {
public JspToStaticHTMLTest() {
}
String midStr;//中間產生的如文章的文字等
String fileName="demo.htm";
/**
*一個模板中的頭字串
*@return
*/
private String getHeadStr() {
String s="<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"n" +
""http://www.w3.org/TR/html4/loose.dtd">n" +
"<%@ page contentType="text/html;charset=GBK"%>n" +
"<%@ page import="palfinger.bean.GetComponentDetailListDependByID_FinishedProduct_add_in"%>n" +
"<html>n" +
" <head>n" +
" <meta http-equiv="Content-Type" content="text/html; charset=GBK"/>n" +
" <title>JSP加JAVA</title>n" +
" <script language="JavaScript1.2" type="text/javascript" src="function.js">n" +
" </script>n" +
" </head>n" +
" <body>n" +
" <center>";
return s;
}
/**
*一個模板中的尾字串
*@return
*/
private String getTailStr() {
String s=" </center>n" +
" </body>n" +
"</html>";
return s;
}
/**
*中間就是我們需要的、動態產生的字串,
*@parammidStr
*/
publicvoid setMidStr(String midStr) {
this.midStr = midStr;
}
/**
*取得中間動態產生的字串
*@return
*/
private String getMidStr() {
returnmidStr;
}
/**
*整個字串
*@return
*/
private String HTMLStr() {
String s=getHeadStr()+getMidStr()+getTailStr();
return s;
}
publicvoid setFileName(String fileName) {
this.fileName = fileName;
}