1.代码部分

  1. import org.junit.Test;
  2. import org.junit.runner.RunWith;
  3. import org.springframework.boot.test.context.SpringBootTest;
  4. import org.springframework.test.context.junit4.SpringRunner;
  5.  
  6. import java.io.FileInputStream;
  7. import java.io.FileOutputStream;
  8.  
  9. @RunWith(SpringRunner.class)
  10. @SpringBootTest
  11. public class PdfApplicationTests {
  12.  
  13. @Test
  14. public void contextLoads() {
  15. String filePath = "D:\\WorkSpace\\IdeaProjects\\pdf\\src\\main\\resources\\templates\\index.html";
  16. String text ="哈哈";
  17. String disrPath = "D:\\WorkSpace\\IdeaProjects\\pdf\\src\\main\\resources\\templates";
  18. String fileName = "t";
  19. MakeHtml(filePath,text,disrPath,fileName);
  20. }
  21. /**
  22. * @Title: MakeHtml
  23. * @Description: 创建html
  24. * @param filePath 设定模板文件
  25. * @param text 添加的内容
  26. * @param disrPath 生成html的存放路径
  27. * @param fileName 生成html名字
  28. * @return void 返回类型
  29. * @throws
  30. */
  31. public static void MakeHtml(String filePath,String text,String disrPath,String fileName ){
  32. try {
  33. String title = "<h2>"+text+"</h2>";
  34. System.out.print(filePath);
  35. String templateContent = "";
  36. FileInputStream fileinputstream = new FileInputStream(filePath);// 读取模板文件
  37. int lenght = fileinputstream.available();
  38. byte bytes[] = new byte[lenght];
  39. fileinputstream.read(bytes);
  40. fileinputstream.close();
  41. templateContent = new String(bytes);
  42. System.out.print(templateContent);
  43. //把模板页面上的 ###text### 替换成 title 里的内容
  44. templateContent = templateContent.replaceAll("###text###", title);
  45. System.out.print(templateContent);
  46.  
  47. String fileame = fileName + ".html";
  48. fileame = disrPath+"/" + fileame;// 生成的html文件保存路径。
  49. FileOutputStream fileoutputstream = new FileOutputStream(fileame);// 建立文件输出流
  50. System.out.print("文件输出路径:");
  51. System.out.print(fileame);
  52. byte tag_bytes[] = templateContent.getBytes();
  53. fileoutputstream.write(tag_bytes);
  54. fileoutputstream.close();
  55. } catch (Exception e) {
  56. System.out.print(e.toString());
  57. }
  58. }
  59. }
  60.  

2.模板页

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8"/>
  5. <title>Title</title>
  6. </head>
  7. </head>
  8. <body>
  9. ###text###
  10. </body>
  11. </html>

3.生成的html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8"/>
  5. <title>Title</title>
  6. </head>
  7. </head>
  8. <body>
  9. <h2>哈哈</h2>
  10. </body>
  11. </html>

java 根据html模板生成html文件的更多相关文章

  1. Java根据Freemarker模板生成Word文件

    1.  准备模板 模板 + 数据 = 模型 1.将准备好的Word模板文件另存为.xml文件(PS:建议使用WPS来创建Word文件,不建议用Office) 2.将.xml文件重命名为.ftl文件 3 ...

  2. java通过FreeMarker模板生成Excel文件之.ftl模板制作

    关于怎么通过freemarker模板生成excel的文章很多,关键点在于怎么制作模板文件.ftl 网上的办法是: (1)把Excel模板的格式调好,另存为xml文件 (2)新建一个.ftl文件,把xm ...

  3. 利用html模板生成Word文件(服务器端不需要安装Word)

    利用html模板生成Word文件(服务器端不需要安装Word) 由于管理的原因,不能在服务器上安装Office相关组件,所以只能采用客户端读取Html模板,后台对模板中标记的字段数据替换并返回给客户端 ...

  4. 根据PDF模板生成PDF文件(基于iTextSharp)

    根据PDF模板生成PDF文件,这里主要借助iTextSharp工具来完成.场景是这样的,假如要做一个电子协议,用过通过在线填写表单数据,然后系统根据用户填写的数据,生成电子档的协议.原理很简单,但是每 ...

  5. 使用word模板生成pdf文件

    使用word模板生成pdf文件 源码:UserWord

  6. Java根据html模板创建 html文件

    1.创建html的java代码 package com.tydic.eshop.util; import java.io.FileInputStream; import java.io.FileOut ...

  7. JAVA Freemarker + Word 模板 生成 Word 文档 (普通的变量替换,数据的循环,表格数据的循环,以及图片的东替换)

    1,最近有个需求,动态生成 Word 文当并供前端下载,网上找了一下,发现基本都是用 word 生成 xml 然后用模板替换变量的方式 1.1,这种方式虽然可行,但是生成的 xml 是在是太乱了,整理 ...

  8. JAVA中使用freemark生成自定义文件(json、excel、yaml、txt)

    原文:http://blog.csdn.net/jinzhencs/article/details/51461776 场景:在我们工作中,有时需要生成一些文件,可能它不是一种标准的格式,比如JSON. ...

  9. java根据freeMark模板生成内容

    根据ftl模板生成文件内容可以用来生成代码模板,如下所示: aa.ftl name : ${name} age : ${age} aa.java package mall_tools; import ...

随机推荐

  1. vb.net DBEntities框架联表查询 Join

    在项目中配置好DBEntities 使用两个表:主表Table, 子表Table_Item 主要是用到了委托和泛型,ForEach用的是不带返回值的委托 Sub GetDb() Dim st As N ...

  2. vue数组中数据变化但是视图没有更新解决方案

    原文链接:http://www.cnblogs.com/sufubo/p/6906261.html#undefined 问题:在vue项目中,我更改数组中的某一条数据,直接arr[i]=newVal ...

  3. Linux下的用户和用户组,文件权限:chown和chmod

    如下图所示,root权限下新建一个用户MasterBai, /etc/passwd文件中新加入一些信息 这个文件中,记录了该服务器的用户信息,如下图红色框起来的用户,就是我们自己创建的用户,而起来2- ...

  4. kubernetes资源清单之pod

    什么是pod? Pod是一组一个或多个容器(例如Docker容器),具有共享的存储/网络,以及有关如何运行这些容器的规范. Pod的内容始终位于同一地点,并在同一时间安排,并在共享上下文中运行. Po ...

  5. 构建虚拟工控环境系列 - 罗克韦尔虚拟PLC

    一. 概述 本篇主要介绍罗克韦尔虚拟PLC的搭建,使用的操作系统为Windows7 x86 Ultimate(DEEP_GHOST_WIN7_SP1_X86_V2015_06.iso),虚拟化软件为 ...

  6. Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported

    Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported告诉你,你的请求头是application/x- ...

  7. Linux日常之命令awk

    参考:http://www.zsythink.net/archives/tag/awk/ 一. 命令awk简介 1. awk是一种编程语言,用于对文本和数据进行处理的 2. 具有强大的文本格式化能力 ...

  8. C - Covered Points Count CodeForces - 1000C (差分,离散化,统计)

    C - Covered Points Count CodeForces - 1000C You are given nn segments on a coordinate line; each end ...

  9. BZOJ4777 [Usaco2017 Open]Switch Grass[最小生成树+权值线段树套平衡树]

    标题解法是吓人的. 图上修改询问,不好用数据结构操作.尝试转化为树来维护.发现(不要问怎么发现的)最小生成树在这里比较行得通,因为最近异色点对一定是相邻的(很好想),所以只要看最短的一条两端连着异色点 ...

  10. 如何用eclipse进行jar文件打包?

    直接导出runnable jar,如下图所示: 然后选择导出runnable jar: 关于library handling部分的解释如下: (1)Extract required libraries ...