模板引擎freemarker的简单使用教程
来源:互联网 发布:crc知乎 编辑:程序博客网 时间:2024/05/16 09:34
freemarker十分强大,而且不依赖web容器,个人感觉十分好用。
下面直接进主题,freemarker还有什么特性,请找度娘或谷哥~
一、freemarker生成word
1.创建模板。
我创建模板的方法比较简单,也不知道有没有其他更好的方法,有的话,请告诉我吧~
首先是新建一个word文档,按照内容格式排好版,然后在需要注入信息的位置先写上占位置的数据,如图1,然后另存为xml文件(我是存为2003版本的xml),
然后用文本编辑器把xml打开,在xml中把对应的数据改为freemarker的输出表达式,如图2,然后保存,把xml的后缀名改为freemarker的文件后缀名ftl,便是一个freemarker模板了。
图1
图2
2.实现程序
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.text.SimpleDateFormat;import java.util.Date;import java.util.HashMap;import java.util.Map;import freemarker.template.Configuration;import freemarker.template.Template;import freemarker.template.TemplateException;/** * 使用freemark生成word * */public class Freemark {public static void main(String[] args){Freemark freemark = new Freemark("template/");freemark.setTemplateName("wordTemplate.ftl");freemark.setFileName("doc_"+new SimpleDateFormat("yyyy-MM-dd hh-mm-ss").format(new Date())+".doc");freemark.setFilePath("bin\\doc\\");//生成wordfreemark.createWord();}private void createWord(){Template t = null;try {//获取模板信息t = configuration.getTemplate(templateName);} catch (IOException e) {e.printStackTrace();}File outFile = new File(filePath+fileName);Writer out = null;try {out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "UTF-8"));} catch (UnsupportedEncodingException e) {e.printStackTrace();} catch (FileNotFoundException e) {e.printStackTrace();}Map map = new HashMap<String, Object>();map.put("name", "蒙奇·D·路飞");map.put("country", "日本");map.put("city", "东京");map.put("time",new SimpleDateFormat("yyyy-MM-dd hh-mm-ss").format(new Date()));try {//输出数据到模板中,生成文件。t.process(map, out);out.close();} catch (TemplateException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}/** * freemark初始化 * @param templatePath 模板文件位置 */public Freemark(String templatePath) {configuration = new Configuration();configuration.setDefaultEncoding("utf-8");configuration.setClassForTemplateLoading(this.getClass(),templatePath);}/** * freemark模板配置 */private Configuration configuration;/** * freemark模板的名字 */private String templateName;/** * 生成文件名 */private String fileName;/** * 生成文件路径 */private String filePath;public String getFileName() {return fileName;}public void setFileName(String fileName) {this.fileName = fileName;}public String getFilePath() {return filePath;}public void setFilePath(String filePath) {this.filePath = filePath;}public String getTemplateName() {return templateName;}public void setTemplateName(String templateName) {this.templateName = templateName;}}
3.程序运行后,会在bin的doc目录下生成doc文件,效果图
4.demo源码下载:http://download.csdn.net/detail/stormwy/7370997
因为Demo比较小,也可以通过图包的方式下载,把下图下载改名解压即可:
因为Demo比较小,也可以通过图包的方式下载,把下图下载改名解压即可:
6 0
- 模板引擎freemarker的简单使用教程
- 模板引擎freemarker的简单使用教程
- 模板引擎freemarker的简单使用教程
- Freemarker模板引擎全教程
- SpringMVC的架设,使用Freemarker模板引擎
- Freemarker模板引擎的使用总结(一)
- 使用FreeMarker模板引擎作为Struts2的视图技术
- SpringBoot-07引擎模板thymeleaf和freemarker的使用
- Web 环境中使用 FreeMarker 模板引擎的配置方法
- Java模板引擎FreeMarker介绍和使用
- Java模板引擎FreeMarker介绍和使用
- (9) spring boot使用freemarker模板引擎
- Velocity模板引擎的简单使用
- Velocity模板引擎的简单使用
- Velocity模板引擎的简单使用
- FreeMarker模板引擎替代jsp的用法
- 简单的模板引擎
- 自己在项目中写的简单的仿freemarker模板引擎工具
- servlet编码问题
- stl俺以前没注意到的事----map插入方法
- Jsp+Servlet+JavaBean经典MVC模式理解
- hdu 4587 2013南京邀请赛B题/ / 求割点后连通分量数变形。
- SDK安装的其中一种让人抓狂的错误
- 模板引擎freemarker的简单使用教程
- oracle 3个实用sql场景
- 图片浏览器
- 黑马程序员----------高新技术之内部类及其应用
- IO流的打印流、序列流其他流总结
- LR杂记--Loadrunner分析系统资源
- C - Sereja and Suffixes
- 不安装oracle使用PL/SQL Developer
- HDU 2553 N皇后问题 (搜索DFS)