0
点赞
收藏
分享

微信扫一扫

Java读取根据HTML模板生成HTML页面

Just_Esme 2022-03-30 阅读 89


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

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

梅花香自古寒来


举报

相关推荐

0 条评论