JSP利用freemarker生成基于word模板的word文档
2016-01-13 13:45
465 查看
利用freemarker生成基于word模板的word文档
freemarker简介
FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等。
freemarker下载地址:
http://freemarker.incubator.apache.org/freemarkerdownload.html
word模板转换为ftl模板
找到word模板文件,在需要替换的地方使用 ${paramName}作为参数名【paramName只是一个示例】,将word另存为xml文件
![](https://oscdn.geek-share.com/Uploads/Images/Content/202007/03/5e864b735afeea3dc48357307ff6cec5.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202007/03/dbd7439fa5b8cce0fa28e142aeb07591.png)
修改xml文件,打开xml文件之后可以看到我们的占位符可能
会被xml标记分隔开,我们需要进行修改,删除占位符周边的标记从而使得参数占位符作为一个整体
![](https://oscdn.geek-share.com/Uploads/Images/Content/202007/03/c6f836754cec20cd7076204332deb697.png)
编写项目代码
引用freemarker的jar包
将按以上方式获得的ftl模板添加到项目中
编写工具类
![](https://oscdn.geek-share.com/Uploads/Images/Content/202007/03/5123fabd54c090c0ea814dc566809363.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202007/03/c05834f3575e975c4c59043a9abf903f.png)
4.控制器调用代码
![](https://oscdn.geek-share.com/Uploads/Images/Content/202007/03/a06044fde91c4c2d2c2ed7dc66cd80ed.png)
参考地址:http://blog.csdn.net/jackfrued/article/details/39449021
freemarker简介
FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等。
freemarker下载地址:
http://freemarker.incubator.apache.org/freemarkerdownload.html
word模板转换为ftl模板
找到word模板文件,在需要替换的地方使用 ${paramName}作为参数名【paramName只是一个示例】,将word另存为xml文件
![](https://oscdn.geek-share.com/Uploads/Images/Content/202007/03/5e864b735afeea3dc48357307ff6cec5.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202007/03/dbd7439fa5b8cce0fa28e142aeb07591.png)
修改xml文件,打开xml文件之后可以看到我们的占位符可能
会被xml标记分隔开,我们需要进行修改,删除占位符周边的标记从而使得参数占位符作为一个整体
![](https://oscdn.geek-share.com/Uploads/Images/Content/202007/03/c6f836754cec20cd7076204332deb697.png)
编写项目代码
引用freemarker的jar包
将按以上方式获得的ftl模板添加到项目中
编写工具类
![](https://oscdn.geek-share.com/Uploads/Images/Content/202007/03/5123fabd54c090c0ea814dc566809363.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202007/03/c05834f3575e975c4c59043a9abf903f.png)
4.控制器调用代码
![](https://oscdn.geek-share.com/Uploads/Images/Content/202007/03/a06044fde91c4c2d2c2ed7dc66cd80ed.png)
参考地址:http://blog.csdn.net/jackfrued/article/details/39449021
相关文章推荐
- 学习 JavaScript 最难点之一 -- 理解prototype(原型)
- 封装常用的js(Base.js)——【01】理解库,获取节点,连缀,
- javascript Base类 包含基本的方法
- XML Json数据
- js调试工具Console命令详解
- jsonp跨域请求
- javascript笔记——jqGrid再次封装
- js 书写规范
- 加载本地html,js, css文 件
- SSH框架jsp迭代实体类,并获取关联对象的属性
- js倒计时
- js中数组的一些操作
- Javascript判断对象和字符串为空的优雅写法
- 数据导入
- javascript 解析ajax返回的xml和json格式的数据
- 关于JavaScript中实现继承,及prototype属性
- IE6 IE7 IE8(Q) 不支持 JSON 对象
- 处理Json接收日期格式问题
- 轻松实现javascript图片轮播特效
- Javascript编写的简易计算器