freemarker使用map替换字符串中的值demo2

package demo01;

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

import freemarker.cache.StringTemplateLoader;
import freemarker.template.Configuration;
import freemarker.template.Template;

public class Test02 {
    public static void main(String[] args) {
        Configuration cfg = new Configuration();
        StringTemplateLoader loader = new StringTemplateLoader();
        cfg.setTemplateLoader(loader);
        cfg.setClassicCompatible(true);
        String templateSource = "name:${user};URL:${url};uname:${name}";
        loader.putTemplate("crd", templateSource);

        Map<String, String> map = new HashMap<String, String>();
        map.put("user", "crd");
        map.put("url", "www.baidu.com");
        map.put("name", "baidu");
        try {
            Template template = cfg.getTemplate("crd");

            StringWriter writer = new StringWriter();
            template.process(map, writer);
            System.out.println(writer.toString());

            template.process(map, new OutputStreamWriter(System.out));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

 

 

后台打印:

name:crd;URL:www.baidu.com;uname:baidu
name:crd;URL:www.baidu.com;uname:baidu

posted @ 2019-06-25 15:18  爱跳舞的程序员  阅读(464)  评论(0编辑  收藏  举报