FreeMarker入门 生成xml模板
第一次写这个,只是按着自己想的来写,没有什么思路。。。。
https://blog.csdn.net/kangcool_sn/article/details/85096386
先建一个Person对象,也可以不用,只是为了封装数据好处理
public class Person { private String name; private String age; private String birthday; private String sex;
public String getName() { return name;
}
public void setName(String name) { this.name = name;
}
public String getAge() { return age;
}
public void setAge(String age) { this.age = age;
}
public String getBirthday() { return birthday;
}
public void setBirthday(String birthday) { this.birthday = birthday;
}
public String getSex() { return sex;
}
public void setSex(String sex) { this.sex = sex;
}
}
创建工具类 这边把测试方法写在工具类中了,可以分离出去
import java.io.IOException;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map; import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException; public class ObjectToXmlUtil
{ /** * * @param xmlPath xml的路径 * @param xmlName xml的名称* @param code 数据编码格式 * @param dataMap 需要渲染到xml中的map数据 * @return xmlString*/ public String createXmlFile(String xmlPath,String xmlName,String code, Map dataMap) { String result = ""; //得FreeMarker配置对象// 创建Configuration对象 Configuration cfg = new Configuration(); //设置模板编码格式cfg.setEncoding(Locale.getDefault(),code); //得FreeMarker的关键对象---------模板 // 创建Template对象 Template template = null; try { // 设置FreeMarker的模版文件位置 cfg.setClassForTemplateLoading(this.getClass(),"");//cfg.setDirectoryForTemplateLoading(new File(xmlPath));template = cfg.getTemplate(xmlName); } catch (IOException e1) { e1.printStackTrace(); } template.setEncoding(code); //String path = ServletActionContext.getServletContext().getRealPath("/"); /* File dir = new File(path + htmlPath); if (!dir.exists()) { dir.mkdirs(); } */ // File fileName = new java.io.File(path + htmlPath + htmlName); //System.out.println("html file:" + fileName.getPath()); //Writer writer = null; java.io.StringWriter w =new StringWriter(); try { // 生成xmltemplate.process(dataMap, w); System.out.println(w.toString()); result = w.toString(); } catch (TemplateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return result; } public static void main(String args[]){ObjectToXmlUtil t = new ObjectToXmlUtil();Map map =t.demo();t.createXmlFile("","Person.xml","gbk", map);}private Map demo(){Person p =new Person();p.setName("李四");p.setAge("12");p.setBirthday("20161201");p.setSex("Y");Map map = new HashMap();map.put("t", p);
return map;}}
创建自己要生成的xml模板样式,将数据写过来
<?xml version="1.0" encoding="gbk"?>
<root id="" comment=""><person><name>${t.name}</name><age>${t.age}</age><birthday>${t.birthday}</birthday><sex>${t.sex}</sex></person>
</root>
最后输出结果,转成你想要的xml文件即可:
<?xml version="1.0" encoding="gbk"?>
<root id="" comment=""><person><name>李四</name><age>12</age><birthday>20161201</birthday><sex>Y</sex></person>
</root>
xml模板中带有多条的同样处理方法
以上纯属一个小白的一点心得,勿喷
https://blog.csdn.net/kangcool_sn/article/details/85069434
FreeMarker入门 生成xml模板相关推荐
- 使用freemarker生成xml模板
今天在java交流群里有个人问我如何用freemarker生成xml模板文件,可以手动配置参数,于是我到网上百度了一下.发现有一位同行的博文写的很nice,于是我就照着他的代码敲了一遍,最后实现了,本 ...
- freemarker自动生成html页面,HTML+CSS入门 Freemarker如何生成HTML静态页面
本篇教程介绍了HTML+CSS入门 Freemarker如何生成HTML静态页面,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < 做一个网址导航的项目,面向用户的就是一个首 ...
- freemarker生成word模板
freemarker生成word模板 一.引入依赖 <dependency><groupId>org.freemarker</groupId><artifac ...
- JAVA通过xml模板生成DOCX文档
准备工作: 1.xml模版,获取方式为docx文件winrar方式打开,取出document.xml 2.将内容格式化后修改需要替换的内容为freemarker标签,如下: 3.文件准备好后存放到某个 ...
- 使用xml模板生成word文档
1.新建一个docx格式的word文档 2.编写模板内容,调整模板格式,将需要替换的内容用freemark语言标记,例如${content} 3.复制一份docx模板文件,修改扩展名为zip,解压文件 ...
- java 使用xml生成word_Java+freemaker+xml生成word模板
date: 2017-04-15 21:34:56 Java利用freemaker包来操作生成word模板. 一个头疼的问题,了解了下xml. Java也是在学习的路上. 需求 自动化生成word报告 ...
- 9.动态生成实体类,根据XML模板使用Emit生成动态类绑定到DataGrid
在实际项目中,我们可能会遇到用户自定义XML模板字段,根据这个模板上的字段来显示相应的字段的值到DataGrid.在这种情况下,需要使用 XmlReader解析获取这个用户自定义的XML模板上有哪些字 ...
- easyui java代码生成器,easyui+jdbc+xml模板开发自动化生成报表的java工具 - 贪吃蛇学院-专业IT技术平台...
ps:看到有同学问了一下问题,做一下答复,该实现不是web项目,大家只需要将代码集成到web项目中即可,原项目太大,不便上传.还有 jar包自己找啊 呵呵 采用easyui+jdbc+xml模板生成报 ...
- 学成在线--8.Freemarker入门教程
文章目录 1.FreeMarker介绍 1)常用的java模板引擎还有哪些? 2)freemarker是一个用Java开发的模板引擎 3)模板+数据模型=输出 2.FreeMarker快速入门 1)创 ...
最新文章
- 2020中国高校薪资排行出炉!好过双一流的高校原来这么多!
- 花40分钟写一个-CBIR引擎-代码公开
- ARM学习书单一提供打包下载地址
- opencv 学习笔记9:图像缩放与图像翻转
- SpringBoot连接Redis超简单
- selenium之输出html测试报告
- Analyzing Storage Performance using the Windows Performance Analysis ToolKit (WPT)
- !doctype html报错h5,【Web前端问题】javascript import 报错
- [css] 如何在白天和黑夜自动切换页面的颜色?
- java dfs_Java数据结构与算法 深搜(DFS)的简单使用(一)之排列组合
- java 8进制 前是 零,从零学java笔录-第6篇 进制之间转换
- 一本通1594涂抹果酱
- Dynatable – 基于 HTML5 jQuery 的交互表格插件
- CentOS6.5修改系统语言为英语
- 照片转3d模型_云从科技3D人体重建技术刷新3项纪录!仅凭照片即可生成精细模型...
- 9--《Method and apparatus for providing an e-bussiness audit trail in a distribu》
- 强化学习用 Sarsa 算法与 Q-learning 算法实现FrozenLake-v0
- cancase lin管脚_Vector CANCASE XL+CABLE 模块
- 【Python高级技能】超炫酷,电脑每天自动换壁纸,这个神器适合你。
- Spring+SpringMVC+Mybatis分布式敏捷开发系统架构(附源码)
热门文章
- 为什么vacuum full也无法回收空间?
- iOS问题记录 - Xcode 14.3版本运行项目报错
- nagios监控系统——实战篇
- 整蛊朋友的python代码{1}(二次创作)
- 乱七八糟介绍一款文献检索网站,web of science
- LeetCode第155题—最小栈
- 千亿参数大模型首次被撬开:Meta复刻GPT-3“背刺”OpenAI,完整模型权重及训练代码全公布
- 汇编程序的格式和模板
- bochs安装linux系统,Ubuntu 10.04安装Bochs 2.4.5笔记
- Unity 之 制作翻牌效果