zoukankan      html  css  js  c++  java
  • freemarker入门实例与源码研究准备工作

    首先去freemarker官网下载源码jar包,本文是基于freemarker-2.3.21.tar.gz进行研究的。解压源码包,找到freemarker的源码部分导入eclipse工程中。需要注意的是:freemarker的ftl文件解析使用javacc实现的,所以源码中没有解析类(FMParse.java)。要想研究freemarker源码,往往还需要引入freemarker.jar(含有FMParse.class),否则源码会出现编译问题。
    另外,还需要引入的jar包有:commons-logging.jar,log4j.jar,servlet-api.jar。最后设置一下日志的输出,方便我们查看底层运行情况。log4j.properties文件的内容如下所示:

    log4j.rootLogger=DEBUG,A1,A2
    #指定log输出目的,这里设为输出日志到指定目录的文件my.log中
    log4j.appender.A1=org.apache.log4j.FileAppender
    log4j.appender.A1.File=logs/my.log
    #指定日志信息的格式
    log4j.appender.A1.layout=org.apache.log4j.PatternLayout    
    log4j.appender.A1.layout.ConversionPattern=%c[%d]-%m%n
    
    #把A2输出到控制台
    log4j.appender.A2=org.apache.log4j.ConsoleAppender
    log4j.appender.A2.layout=org.apache.log4j.PatternLayout
    log4j.appender.A2.layout.ConversionPattern=[%c][%d][%p]-%m%n

    入门实例

    首先在项目中建立存放模板的文件夹templates,然后放入模板文件person.ftl,内容如下:
    Hello, my name is ${name}. I come from ${address}. Nice to meet you!

    public class Test
    {
        public static void main(String[] args) throws IOException, TemplateException
        {
            Version version = new Version(2, 3, 1);
            Configuration cfg = new Configuration(version);
            cfg.setDirectoryForTemplateLoading(new File("templates"));
            cfg.setObjectWrapper(new DefaultObjectWrapper(version));
            Template temp = cfg.getTemplate("person.ftl");
            Map root = new HashMap();
            root.put("name", "张三");
            root.put("address", "中国-北京");
            Writer out = new OutputStreamWriter(System.out);
            temp.process(root, out);
            out.flush();
        }
    }

    输出结果为:

    Hello, my name is 张三. I come from 中国-北京. Nice to meet you!

  • 相关阅读:
    类型反射出错
    洛阳亲友如相问 咱两还要喝一壶
    为什ipad3卖的不好呢?(爆笑)
    位置相关属性offset(),position(),scrollTop()等
    httpModules 与httpHandler
    IE7,IE8不支持New Date的解决方法
    数据库中字符长度和C#代码中字符长度
    让你的wordpress支持Window live writer
    用Windows Live Writer离线写Wordpress博客详解
    请问在数据库中怎样用模糊查询查找含有通配符的项,比如 like ' ' 我要查找含有“%”的项,怎么查?
  • 原文地址:https://www.cnblogs.com/cz-xjw/p/4987164.html
Copyright © 2011-2022 走看看