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!

  • 相关阅读:
    centos6.5mini版安装及配置
    ruby读取exce文件,使用roo---Gem
    L3-Day34
    keepalived+nginx实现高可用+tomcat
    破解IDEA注册码,设置 license server一直有效不过期
    nginx配置文件详解
    Windows如何设置动态和静态ip地址
    Tortoisegit生成SSH密钥一次性输入密码
    ajax
    myeclipse tomcat部署按钮点击没反应
  • 原文地址:https://www.cnblogs.com/cz-xjw/p/4987164.html
Copyright © 2011-2022 走看看