最近在做静态的页面报表服务,将前端生成的ftl文件转化为html格式的文件,供后面合成pdf使用。

freemarker基础可以参见:freemarker官方文档

前期准备:需要一个基础的ftl格式的文件。

一个freemarker中注入的对象

这里面单独命名了一个类:

/**
* 实体类
* @author Xia
*/
public class Person {
private String name;
private String tele;
private String email; public Person(String name, String tele, String email) {
this.name = name;
this.tele = tele;
this.email = email;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getTele() {
return tele;
} public void setTele(String tele) {
this.tele = tele;
} public String getEmail() {
return email;
} public void setEmail(String email) {
this.email = email;
} }

具体的实现代码

static String templatePath = "/pdf0020ftlToHtml";
static String templateName = "part2.ftl";
static String targetHtmlPath = "src/main/resources/pdf0020ftlToHtml/part2.html"; public static void crateHTML(String templatePath, String templateName, String targetHtmlPath) {
FileWriter out = null; Person p = new Person("zhangsan", "13767682365", "qust@163.com"); try {
// 通过Configuration读取模版的配置文件
Configuration freemarkerCfg = new Configuration(Configuration.VERSION_2_3_23);
// 加载模版
// 设置要解析的模板所在的目录 这里面有三种设置的方式
// freemarkerCfg.setDirectoryForTemplateLoading(new File(templatePath));
// freemarkerCfg.setServletContextForTemplateLoading(servletContext, path); freemarkerCfg.setClassForTemplateLoading(Pdf0020ftlToHtml.class, templatePath);
// 设置默认的编码格式
freemarkerCfg.setDefaultEncoding("utf-8"); // 指定模版路径,并且获取模版
Template template = freemarkerCfg.getTemplate(templateName, "utf-8"); // 设置html静态页面输出路径
File f = new File(targetHtmlPath);
if (!f.exists()) {
f.createNewFile();
}
out = new FileWriter(f); template.process(p, out);
System.out.println("success");
} catch (Exception e) {
e.printStackTrace();
}
} public static void main(String[] args) {
crateHTML(templatePath, templateName, targetHtmlPath);
}

注意,在web项目中可能会有乱码的情况。注意设置好响应的编码格式。

如何将freemarker文件转化为html文件的更多相关文章

  1. WPF: 读取XPS文件或将word、txt文件转化为XPS文件

    读取XPS格式文件或将doc,txt文件转化为XPS文件,效果图如下: 1.XAML页面代码: <Window x:Class="WpfWord.MainWindow" xm ...

  2. WFP: 读取XPS文件或将word、txt文件转化为XPS文件

    读取XPS格式文件或将doc,txt文件转化为XPS文件,效果图如下: 1.XAML页面代码: <Window x:Class="WpfWord.MainWindow"    ...

  3. 怎样将word文件转化为Latex文件:word-to-latex-2.56具体解释

    首先推荐大家读一读这篇博文:http://blog.csdn.net/ibingow/article/details/8613556 --------------------------------- ...

  4. jupyter命令把.ipynb文件转化为.py文件

    jupyter nbconvert --to script *.ipynb 就能把当前文件夹下面的所有的.ipynb文件转化为.py文件

  5. 使用vivado将bit文件转化为mcs文件

    使用vivado将bit文件转化为mcs文件 1.在Tcl Console中运行脚本: write_cfgmem -force -format MCS -size 64 -interface spix ...

  6. 将caj文件转化为pdf文件进行全文下载脚本(ubuntu下亲测有用)

    最近ubuntu下caj阅读器,突然崩掉了,而偏偏要准备开题,在网上搜索原因未果,准备放弃时候,突然在网上看到一个脚本,说是很好用,可以在指定页面将caj文件转化为pdf文件,亲测有用,这里直接给出脚 ...

  7. Netlib文件转化为mps文件

    Netlib文件转化为mps文件 简单方法1 下载并执行: git clone https://github.com/mtanneau/Netlib_experiments.git cd Netlib ...

  8. plink格式文件转化为vcf文件(VCF versions convert)

    plink1.9版本支持转化为VCFv4.2格式 plink2.0版本支持转化为VCFv4.3格式 两个版本用到的命令不一样 对于plink1.9版本,转化为vcf文件的命令行为: plink --b ...

  9. C++ 利用 libxl 将 Excel 文件转化为 Xml 文件

    在游戏开发工作中,策划和运营一般会用Excel来编写配置文件,但是程序读取配置,最方便的还是xml文件.所以最好约定一个格式,然后在二者之间做一个转化. 本文利用libxl来读取Excel文件,利用 ...

随机推荐

  1. vscode 支持es6语法

    在首选项中 设置: "jshint.enable": false, 在根目录中建立eslintrc.yml parser: babel-eslint parserOptions: ...

  2. Django中间件解析

    一,中间件的概念 django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法.在dja ...

  3. 自己编写jQuery插件 之 放大镜

    一. 效果图 二. 原理讲解 1. 用到了两张图片,一张小图,一张大图. 2. 小图用于直接在页面上显示,大图则用于放大镜内显示 3. 放大镜实际是一个div,而大图则是这个div的背景图 4. 小图 ...

  4. fastdfs搭建和使用

    目录 前言 安装 安装插件 tracker storage 用自带的 client 进行测试 想要查看结果必须安装nginx 使用示例 引用 配置 使用 前言 参考网址 错误处理 安装 安装插件 yu ...

  5. 使用CoreData [2]

    使用CoreData [2] 此篇讲解CoreData处理关系型数据. 1. 先创建出Student于Teacher的实体. 2. 确定关系,并修改描述 3. 创建对象,并查看一下关系(Teacher ...

  6. PowerShell管理SCOM2007R2

    get-operationsmanagercommand #定义RMS服务器名称(SCOM管理控制台所在服务器名称)#Connect to the RMS server and initialize ...

  7. sonar常见

    sonar在linux上安装好之后,若之后又更改了sonar的配置,则需要重启服务,重启方法如下: 1.进入到sonar的安装目录下,打开bin目录,会看到所有操作系统的文件夹 2.若操作系统为lin ...

  8. nodepad++添加新主题

    https://www.cnblogs.com/d0main/p/6915460.html

  9. 计算机中的换行符、回车符、\n、\r、\n\r 怎么区分啊?

    '\r'是回车,前者使光标到行首,(carriage return)'\n'是换行,后者使光标下移一格,(line feed) \r 是回车,return\n 是换行,newline对于换行这个动作, ...

  10. 剑指offer 07斐波那契数列

    现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0).n<=39 java版本: public class Solution { public static void m ...