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;
}