用java生成html文件

原理跟用java生成jsp的servlet差不多。我们可以用printStream来向html文件里输出数据。

先创建一个StringBuilder对象,通过append方法来为其添加html语句。如下面例子所示:

[java]  view plain copy
  1. StringBuilder sb = new StringBuilder();  
  2.         Properties fileProperties = getProperties("file");  
  3.         Properties sqlProperties = getProperties("sql");  
  4.         PrintStream printStream = new PrintStream(new FileOutputStream(  
  5.                 "report.html"));  
  6.         sb.append("");  
  7.         sb.append("");  
  8.         sb.append("每日运营报表");  
  9.         sb.append("");  
  10.         sb.append("");  
  11.         sb.append("TABLE{border-collapse:collapse;border-left:solid 1 #000000; border-top:solid 1 #000000;padding:5px;}");  
  12.         sb.append("TH{border-right:solid 1 #000000;border-bottom:solid 1 #000000;}");  
  13.         sb.append("TD{font:normal;border-right:solid 1 #000000;border-bottom:solid 1 #000000;}");  
  14.         sb.append("");  
  15.         sb.append("");  
  16.         sb.append("");  
  17.         sb.append("
    "
    );  
  18.         sb.append("
    "
    );  
  19.         List> result1 = getRpt(sqlProperties  
  20.                 .getProperty("sql1"));  
  21.         for (Map.Entry m : result1.get(0).entrySet()) {  
  22.             sb.append(fileProperties.getProperty("file1"));  
  23.             sb.append(m.getValue());  
  24.         }  
  25.         sb.append("

    "
    );  
输出的话,也很简单。
[java]  view plain copy
  1. sb.append("
");  
  •         printStream.println(sb.toString());  
  • 再上传一张我用java生成的一个测试html,还没有调用线上数据。大家在实际应用的时候可以利用sql语句,list来填充表格。


    下面给一个我写的例子

    [java]  view plain copy
    1. sb.append("");  
    2.         for (Map.Entry m : result.get(0).entrySet()) {  
    3.             sb.append("");  
    4.             sb.append(m.getKey());  
    5.             sb.append("");  
    6.         }  
    7.         sb.append("");  
    8.         for (int i = 0; i < result.size(); i++) {  
    9.             sb.append("");  
    10.             for (Map.Entry m : result.get(i).entrySet()) {  
    11.                 sb.append("");  
    12.                 sb.append(m.getValue());  
    13.                 sb.append("");  
    14.             }  
    15.             sb.append("");  
    16.         }  
    17.         sb.append("");  
    故事就是这样。下集更精彩~

    你可能感兴趣的:(java)