首先,我们需要一个html模板:

  1. <html>
  2. <head>
  3. <title>###title###</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=gbk">
  5. </head>
  6.  
  7. <body>
  8. <table width="500" border="0" align="center" cellpadding="0" cellspacing="2">
  9. <tr>
  10. <td align="center">###title###</td>
  11. </tr>
  12. <tr>
  13. <td align="center">###author### </td>
  14. </tr>
  15. <tr>
  16. <td>###content###</td>
  17. </tr>
  18. <tr>
  19. <td>###html###</td>
  20. </tr>
  21.  
  22. </table>
  23. </body>
  24. </html>

其次:我们编写java代码实现模板读取,页面生成:

  1. import javax.servlet.http.HttpServletRequest;
  2. import java.util.List;
  3. import java.util.ArrayList;
  4. import java.util.Date;
  5. import java.net.URL;
  6. import java.net.URLConnection;
  7. import java.io.*;
  8.  
  9. /**
  10. * Filename: JspToHtml.java <br>
  11. * Ttitle: jsp转换成html<br>
  12. * De.ion: 把动态网页转换成静态网页<br>
  13. * Copyright: Copyright (c) 2002-2008 BocSoft,Inc.All Rights Reserved. <br>
  14. * Company: BocSoft<br>
  15. * Author: <a href="mailto:sgicer@163.com">阿汐</a> <br>
  16. * Date: 2006-6-19 <br>
  17. * Time: 16:41:09 <br>
  18. * Version: 2.0.0 <br>
  19. */
  20. public class JspToHtml {
  21.  
  22. private static String title ="标题测试";
  23. private static String context ="标题测试";
  24. private static String editer ="标题测试";
  25.  
  26. /**
  27. * 根据本地模板生成静态页面
  28. * @param JspFile jsp路经
  29. * @param HtmlFile html路经
  30. * @return
  31. */
  32. public static boolean JspToHtmlFile(String filePath, String HtmlFile) {
  33. String str = "";
  34. long beginDate = (new Date()).getTime();
  35. try {
  36. String tempStr = "";
  37.   FileInputStream is = new FileInputStream(filePath);//读取模块文件
  38. BufferedReader br = new BufferedReader(new InputStreamReader(is));
  39. while ((tempStr = br.readLine()) != null)
  40. str = str + tempStr ;
  41. is.close();
  42. } catch (IOException e) {
  43. e.printStackTrace();
  44. return false;
  45. }
  46. try {
  47.  
  48. str = str.replaceAll("###title###",title);
  49.    str = str.replaceAll("###content###",context);
  50.    str = str.replaceAll("###author###",editer);//替换掉模块中相应的地方
  51.  
  52. File f = new File(HtmlFile);
  53. BufferedWriter o = new BufferedWriter(new FileWriter(f));
  54. o.write(str);
  55. o.close();
  56. System.out.println("共用时:" + ((new Date()).getTime() - beginDate) + "ms");
  57. } catch (IOException e) {
  58. e.printStackTrace();
  59. return false;
  60. }
  61. return true;
  62. }
  63.  
  64. /**
  65. * 根据url生成静态页面
  66. *
  67. * @param u 动态文件路经 如:http://www.163.com/x.jsp
  68.  
  69. * @param path 文件存放路经如:x:\\abc\bbb.html
  70. * @return
  71. */
  72. public static boolean JspToHtmlByURL(String u, String path) {
  73. //从utl中读取html存为str
  74. String str = "";
  75. try {
  76. URL url = new URL(u);
  77. URLConnection uc = url.openConnection();
  78. InputStream is = uc.getInputStream();
  79. BufferedReader br = new BufferedReader(new InputStreamReader(is));
  80. while (br.ready()) {
  81. str += br.readLine() + "\n";
  82.  
  83. }
  84. is.close();
  85. //写入文件
  86. File f = new File(path);
  87. BufferedWriter o = new BufferedWriter(new FileWriter(f));
  88. o.write(str);
  89. o.close();
  90. str = "";
  91. return true;
  92. } catch (Exception e) {
  93. e.printStackTrace();
  94. return false;
  95. }
  96. }
  97.  
  98. /**
  99. * 根据url生成静态页面
  100. *
  101. * @param url 动态文件路经 如:http://www.163.com/x.jsp
  102.  
  103. * @return d
  104. */
  105. public static StringBuffer getHtmlTextByURL(String url) {
  106. //从utl中读取html存为str
  107. StringBuffer sb = new StringBuffer();
  108. try {
  109. URL u = new URL(url);
  110. URLConnection uc = u.openConnection();
  111. InputStream is = uc.getInputStream();
  112. BufferedReader br = new BufferedReader(new InputStreamReader(is));
  113. while (br.ready()) {
  114. sb.append(br.readLine() + "\n");
  115. }
  116. is.close();
  117. return sb;
  118. } catch (Exception e) {
  119. e.printStackTrace();
  120. return sb;
  121. }
  122. }
  123.  
  124. /**
  125. * 测试main 函数
  126. *
  127. * @param arg
  128. */
  129. public static void main(String[] arg) {
  130. long begin = System.currentTimeMillis();
  131.    //循环生成10个html文件
  132. for (int k = 0; k < 10; k++) {
  133. String url = "E:\\workspace\\oa\\golatel\\utils\\Temp\\mb.htm";//模板文件地址
  134. String savepath = "d:/" + k + ".html";//生成文件地址
  135. JspToHtmlFile(url, savepath);
  136. }
  137. System.out.println("用时:" + (System.currentTimeMillis() - begin) + "ms");
  138. }
  139. }

Java读取根据HTML模板生成HTML页面的更多相关文章

  1. html模板生成静态页面及模板分页处理

    它只让你修改页面的某一部分,当然这"某一部分"是由你来确定的.美工先做好一个页面,然后我们把这个页面当作模板(要注意的是这个模板就没必要使用EditRegion3这样的代码了,这种 ...

  2. 【Java】itext根据模板生成pdf(包括图片和表格)

    1.导入需要的jar包:itext-asian-5.2.0.jar itextpdf-5.5.11.jar. 2.新建word文档,创建模板,将文件另存为pdf,并用Adobe Acrobat DC打 ...

  3. 利用模板生成html页面(NVelocity)

    公司的网站需要有些新闻,每次的新闻格式都是一样的,而不想每次都查询操作,所以想把这些新闻的页面保存成静态的html,之后搜索了下就找到了这个模板引擎,当然其他的模板引擎可以的,例如:Razor,自己写 ...

  4. JAVA使用itext根据模板生成PDF文档

    1.制作PDF模板 网址打开:https://www.pdfescape.com/open/ 我们这里先在线上把基础的内容用word文档做好,然后转成PDF模板,直接上传到网站上,这样方便点 假设我们 ...

  5. Java Web项目--使用JSP生成一个页面

    我们使用了servlet生成了一个网页,但是可以看到使用servlet生成网页必须将网页的内容全部嵌入到Java代码当中,不是很方便.所以有没有什么办法是将Java代码嵌入到html代码中,而不是像s ...

  6. Java Web项目--使用Servlet生成一个页面

    为了生成一个servlet对应的网页.我们需要新建一个web.xml,其中将会放置servlet的相关信息.web.xml文件放置在WebContent/WEB-INF/目录下.(我们在Eclipe中 ...

  7. 第四篇:java读取Excel简单模板

    场景:对于经常需要导入Excel模板或数据来解析后加以应用的,使用频率非常之高,做了一个比较稳定的版本,体现在这些地方工具:org.apache.poi使用前必须了解这些:1.要解析,那肯定先判断是不 ...

  8. java 根据word xml模板生成word

    这里用的是poi相关jar包以及freemarker插值技术实现,poi相关jar包这里不再述说 1,编辑word并保存为xml 2,把xml后缀改为ftl文件 3,前端代码 // alert(jso ...

  9. html-webpack-plugin插件 根据模板生成多页面

    1.项目目录结构为: 2.webpack.config.js配置文件为: var htmlWebpackPlugin = require('html-webpack-plugin'); module. ...

随机推荐

  1. Swagger学习(一、入门)

    简单 入门(效果) SwaggerConfig.class @Configuration //变成配置文件 @EnableSwagger2 //开启swagger2 public class Swag ...

  2. 宝塔控制面板+wordpress搭建个人网站

    上个月买了服务器和域名之后就搁置了,今天有空闲就来配合教程尝试一下搭建个人网站,下面是网站搭建的详细过程以及中间的一些细节问题,写这篇文章的目的就是希望能够帮到一些小伙伴,或者为以后搭建网站做一些参考 ...

  3. Java注解【一、概述】

    前面几篇Java学习笔记都是半夜写的,比较伤身体,今天开始想调整生物钟,早上起来学2小时,看看能坚持多久 本周目标: 1.JavaJDBC使用 2.JavaWeb编程 3.Java框架基础(反射+注解 ...

  4. linux命令详解——xargs

    1. 简介 之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令,例如: find /sbin -perm +700 |ls -l     ...

  5. 【转】草根老师的 linux字符设备驱动详解

    Linux 驱动 之 模块化编程 Linux 驱动之模块参数和符号导出 Linux 设备驱动之字符设备(一) Linux 设备驱动之字符设备(二) Linux 设备驱动之字符设备(三)

  6. Java SE 核心 II【Collection 集合框架】

    Collection集合框架 在实际开发中,需要将使用的对象存储于特定数据结构的容器中.而 JDK 提供了这样的容器——集合框架,集合框架中包含了一系列不同数据结构(线性表.查找表)的实现类.集合的引 ...

  7. OJ问题集合

    1.找出给定数组之中的3个和为0的数. 2.给出一个字符串,给出需要去除的字符串,返回去除需要去除的字符串后的值. 3.一个数组之中的第二最大值三个数的组合.

  8. NLP/CL 顶会收录

    全文转载自知乎@刘知远老师:初学者如何查阅自然语言处理学术资料(2016修订版). 1. 国际学术组织.学术会议与学术论文 自然语言处理(natural language processing,NLP ...

  9. luogu1261 服务器储存信息问题[最短路]

    首先$O(n^2\log n)$暴力很好想,直接每个点出发跑一遍最短路,排$dis$统计一下即可.考虑怎么优化.发现$rank$很小,考虑从$rank$入手.换一种统计方法,看每个点$x$如果作为别的 ...

  10. springboot整合jetty(转)

    jdk1.8 springboot替换容器在网上搜索只需要两步如果不是可能就会报错Unable to start EmbeddedWebApplicationContext due to missin ...