JSP结合JavaBean生成静态页面示例

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>JSPJAVA</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;
}
public String getFileName() {
returnfileName;
}
/**
*将该字符串写到文件中,并保存
*/
publicvoid writeStaticHTML() {
File file=new File(""); ;
File f=new File(getFileName());
FileWriter fw;
try {
//f.createNewFile();
fw = new FileWriter(f);
BufferedWriter bw=new BufferedWriter(fw);
bw.write(HTMLStr());
bw.flush();
bw.close();
fw.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
*测试例子
*@paramarg
*/
publicstaticvoid main(String[] arg) {
JspToStaticHTMLTest test=new JspToStaticHTMLTest();
test.setMidStr("Hello");
test.writeStaticHTML();
}
}
5、如果想在JSP页面里引用该BEAN,那也方便,采用
<jsp:useBean id="test" class=" JspToStaticHTMLTest"/>
<%
test.setMidStr(“内容”);
test.writeStaticHTML();
%>
OK了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值