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

标签: jspstringimport数据库fileexception
7198人阅读 评论(1) 收藏 举报
分类:
 
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了。
 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6656640次
    • 积分:59765
    • 等级:
    • 排名:第41名
    • 原创:462篇
    • 转载:209篇
    • 译文:28篇
    • 评论:1759条
    最新评论