zoukankan      html  css  js  c++  java
  • 利用freemarker生成xml

    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()
  • 相关阅读:
    几个关于集合的有趣证明
    SICP 作业2.5
    有关集合大小的比较
    2020 ICPC 小米邀请赛 部分题解
    Hello World!
    【图论】BellmanFord算法
    【图论】格子图
    【图论】BFS
    【图论】二分图最大匹配 | 二分图最大独立集 | 二分图最小点覆盖
    【图论】最大权不相交区间
  • 原文地址:https://www.cnblogs.com/james-roger/p/5438570.html
Copyright © 2011-2022 走看看