zoukankan      html  css  js  c++  java
  • Freemarker 最简单的例子程序

    首先导入包,freemarker.jar
     
    下载地址: 
    freemarker-2.3.18.tar.gz
     
    当然如果是Maven项目,可以从仓库里面下载,这里不赘述;
     
     
    1、通过String来创建模版对象,并执行插值处理
     
    import freemarker.template.Template; 

    import java.io.OutputStreamWriter; 
    import java.io.StringReader; 
    import java.util.HashMap; 
    import java.util.Map; 

    /** 
    * Freemarker最简单的例子 

    * @author leizhimin 11-11-17 上午10:32 
    */
     
    public class Test2 { 
            public static void main(String[] args) throws Exception{ 
                    //创建一个模版对象 
                    Template t = new Template(nullnew StringReader("用户名:${user};URL:    ${url};姓名:  ${name}"), null); 
                    //创建插值的Map 
                    Map map = new HashMap(); 
                    map.put("user""lavasoft"); 
                    map.put("url""http://www.baidu.com/"); 
                    map.put("name""百度"); 
                    //执行插值,并输出到指定的输出流中 
                    t.process(map, new OutputStreamWriter(System.out)); 
            } 
    }
     
    执行后,控制台输出结果:
    用户名:lavasoft;URL:    http://www.baidu.com/;姓名:  百度 
    Process finished with exit code 0
     
     
    2、通过文件来创建模版对象,并执行插值操作
     
    import freemarker.template.Configuration; 
    import freemarker.template.Template; 

    import java.io.File; 
    import java.io.OutputStreamWriter; 
    import java.util.HashMap; 
    import java.util.Map; 

    /** 
    * Freemarker最简单的例子 

    * @author leizhimin 11-11-14 下午2:44 
    */
     
    public class Test { 
            private Configuration cfg;            //模版配置对象 

            public void init() throws Exception { 
                    //初始化FreeMarker配置 
                    //创建一个Configuration实例 
                    cfg = new Configuration(); 
                    //设置FreeMarker的模版文件夹位置 
                    cfg.setDirectoryForTemplateLoading(new File("G:\testprojects\freemarkertest\src")); 
            } 

            public void process() throws Exception { 
                    //构造填充数据的Map 
                    Map map = new HashMap(); 
                    map.put("user""lavasoft"); 
                    map.put("url""http://www.baidu.com/"); 
                    map.put("name""百度"); 
                    //创建模版对象 
                    Template t = cfg.getTemplate("test.ftl"); 
                    //在模版上执行插值操作,并输出到制定的输出流中 
                    t.process(map, new OutputStreamWriter(System.out)); 
            } 

            public static void main(String[] args) throws Exception { 
                    Test hf = new Test(); 
                    hf.init(); 
                    hf.process(); 
            } 
    }
     
    创建模版文件test.ftl
    <html> 
    <head> 
        <title>Welcome!</title> 
    </head> 
    <body> 
        <h1>Welcome ${user}!</h1> 
        <p>Our latest product: 
        <a href="${url}">${name}</a>
    </body> 
    </html> 

    尊敬的用户你好: 
    用户名:${user}; 
    URL:    ${url}; 
    姓名:  ${name}
     
    执行后,控制台输出结果如下:
    <html> 
    <head> 
        <title>Welcome!</title> 
    </head> 
    <body> 
        <h1>Welcome lavasoft!</h1> 
        <p>Our latest product: 
        <a href="http://www.baidu.com/">百度</a>! 
    </body> 
    </html> 

    尊敬的用户你好: 
    用户名:lavasoft; 
    URL:    http://www.baidu.com/; 
    姓名:  百度 
    Process finished with exit code 0

    转自:http://lavasoft.blog.51cto.com/62575/716825/

  • 相关阅读:
    AndroidStudio(3 复刻SKY MAX 1.4.apk问题汇总)
    AndroidStudio(2 begin --- material design )
    2015.1.15~2015.9.25期间工作实用链接
    AndroidStudio(1 下载安装,环境搭建,使用设置)
    Android.Volley的解读:request
    EcpliseIDE各种问题及其解决方法(不定时更新)
    SpannableString 文字增强类
    自定义 标题栏 带返回按钮
    scrollview 与 listView 的显示不全问题
    右键全屏as3
  • 原文地址:https://www.cnblogs.com/maanshancss/p/6189261.html
Copyright © 2011-2022 走看看