FreeMarker的简单使用
来源:互联网 发布:大家都用阿里云做什么 编辑:程序博客网 时间:2024/04/30 09:12
1、模板文件采用xml形式,比如word可以另存为xml格式文件,目前已知模板文件可以是xml、html、jsp等,生成模板要注意,尽量用低版本的软件来生成xml模板。
java示例代码,读取D:/workspace/testWebService/WebRoot/resource/template目录的模板,动态生成word,动态设置word内容中的姓名、性别、爱好
package com.fxf.util;
import java.io.BufferedWriter;import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
public class FreeMarkerUtil {
//模板存放目录
private final static String templateDir = "D:/workspace/testWebService/WebRoot/resource/template";
//生成文件目录
private final static String outFile = "D:/workspace/testWebService/WebRoot/resource/tmp/";
/**
* 从D:/workspace/testWebService/WebRoot/resource/template路径获取指定模板
* @param templateName
* @return Template
*/
public static Template getFreeMarkerTemplate(String templateName) {
Template template = null;
try {
Configuration configuration = new Configuration();
configuration.setDefaultEncoding("utf-8");
configuration.setDirectoryForTemplateLoading(new File(templateDir));
//根据名称获取模板
template = configuration.getTemplate(templateName);
} catch (IOException e) {
e.printStackTrace();
}
return template;
}
/**
* @param args
*/
public static void main(String[] args) {
//根据模板名称获取模板
Template template = getFreeMarkerTemplate("模板标题.xml");
//设置数据,map的key与模板中的key一致
Map map = new HashMap();
map.put("name", "王五");
map.put("sex", "女");
map.put("like", "篮球");
Writer out = null;
try {
out = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(outFile + System.currentTimeMillis() + ".doc"), "UTF-8"));
//生成文件,并将数据填充到文件中
template.process(map, out);
out.flush();
out.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (TemplateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
示例代码
0 0
- FreeMarker的简单使用
- 简单的springboot使用freemarker
- FreeMarker在Java Project的简单使用
- 模板引擎freemarker的简单使用教程
- 模板引擎freemarker的简单使用教程
- 模板引擎freemarker的简单使用教程
- freemarker 一些简单指令的使用
- FreeMarker简单使用
- FreeMarker 简单使用
- FreeMarker简单使用
- FreeMarker的简单应用
- freemarker简单的例子
- FreeMarker的简单测试
- freemarker的简单案例
- FreeMarker简介及简单使用
- FreeMarker简单使用及介绍
- freemarker的使用心得,freemarker使用心得
- Freemarker的使用
- MFC中App,Doc,MainFrame,View各指针的互相获取
- UE4 Reducing APK Package size
- 程序员面试金典2.4:给定值x为基准将链表分割成两部分
- Handler 机制学习之Handler、Looper、MessageQueue、Message之间的关系
- table 删除某行
- FreeMarker的简单使用
- 在myeclipse中java @override 报错处理
- Javascript
- 查询ORACLE表空间或者数据文件每次扩展大小
- dojod自定义属性
- magicsuggest 多选以及带搜索功能的下拉框
- 一个绚丽的loading动效分析与实现!
- UE3 内容烘焙
- 黑马程序员——Java之Thread类