您的位置:首页 > 其它

利用freemarker生成xml

2016-04-27 13:36 337 查看
package com.mooc.freemarkerXML;

import java.io.IOException;
import java.io.StringWriter;
import java.util.HashMap;
import java.util.Map;

import freemarker.template.Configuration;

import freemarker.template.Template;
import freemarker.template.TemplateException;

public class XMLTest {

public static Template getTemplate(String name){
Configuration cfg = new Configuration();
cfg.setClassForTemplateLoading(XMLTest.class, "/resources/");
Template template = null;
try {
template = cfg.getTemplate(name);
} catch (IOException e) {
e.printStackTrace();
}
return template;
}

public static String process(String templatefile, Map<String, Object> param) throws IOException, TemplateException,
Exception{
Template template = XMLTest.getTemplate(templatefile);
StringWriter sw = new StringWriter();
template.process(param, sw);
return sw.toString();
}
public static void main(String[] args) {
Map<String, Object> responseMap = new HashMap<String, Object>();
responseMap.put("id", "1");
responseMap.put("name", "红楼梦");
responseMap.put("author", "曹雪芹");
responseMap.put("year", "1862");
responseMap.put("price", "98");
String resp = null;
try {
resp = XMLTest.process("book.ftl", responseMap);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(resp);
}

}


book.ftl

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book id="${id}">
<name>${name}</name>
<author>${author}</author>
<year>${year}</year>
<price>${price}</price>
<address><#if address??>${address}</#if></address>
</book>
</bookstore>




XMLSerializer read()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: