六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 10|回复: 0

java 生成 静态html

[复制链接]

升级  52.33%

107

主题

107

主题

107

主题

举人

Rank: 3Rank: 3

积分
357
 楼主| 发表于 2013-2-3 11:24:14 | 显示全部楼层 |阅读模式
java 生成html  网上的大部分资料都是 用 ##title## 这样的模板替换,但是 这种方式不能满足 假如 有一个list 的数据 要循环的 构建 tr  这种方式 因此 采用 流的形式 将 html 模板 以字符串 形式读出来 在 构建 html 内容 在写入 即可
 
代码:
 
public class HTMLGenerator {

    public static boolean jspToHtmlFile(String filePath,String htmlFile,List<SolrBean> list){
       
              String    title="";
            String    content ="";
            String    id ="";
            String    context="";
            String    html = "";
       
            String str = "";
            try {
                FileInputStream is = new FileInputStream(filePath);
                BufferedReader br = new BufferedReader(new InputStreamReader(is));
                String tempStr = "";
                while((tempStr = br.readLine()) != null){
                       str = str + tempStr;
            }
                br.close();
                is.close();
            } catch (IOException e) {
                  e.printStackTrace();
                 
                  return false;
            }
            for(int i=0;i<list.size();i++){
                title =list.get(i).getTitle();
                content = list.get(i).getContent();
                id = list.get(i).getId();
             
                html  += "<div>" +list.get(i).getTitle()+ "<div><br>" 
                      +  "<div>" +list.get(i).getContent()+ "<div><br>"
                      + "<div>" +list.get(i).getId()+ "<div><br>";
             }  
           
            try {
                context = html+"<!--search_end-->";
                System.out.println("context:["+context+"]");
                str = str.replace("<!--search_end-->", context);
               
                System.out.println("str:["+str+"]");
                File file = new File(htmlFile);
                //BufferedWriter writer = new BufferedWriter(new FileWriter(file));
                PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(htmlFile),"UTF-8")));
                out.write(str);
                out.close();
           
            }catch (IOException e) {
                e.printStackTrace();
                return false;
            }
         
            return true;
    }
        public static void main(String[] args) {
        String url = "D:\\Workspaces\\base.html";
        String savePath = "d:\\" + 11 + ".html";
       
        //jspToHtmlFile(url, savePath);
    }
}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表