zoukankan      html  css  js  c++  java
  • FreeMarker在eclipse中的入门例子

    在我刚接触时,只是简单的了解FreeMarker的一些概念及工作原理,至于如何使用FreeMarker还不是非常清楚。随着学习的深入,才渐渐对FreeMarker有了更深入的理解。本文将从基础应用着手,以eclipse开发环境为主,分享一个FreeMarker用例的开发经验。

    一、在eclipse中创建模板
    FreeMarker中模板的概念就是:包含一些由${…}包围的特殊代码的文件。这些特殊代码是FreeMaker指令。
    FreeMarker 模板以ftl后缀命名 如本文所示的:
    user.ftl
    ${user.userName}
    ${user.userPassword}

    二、在eclipse中创建FreeMarker数据模型
    FreeMarker数据模型:存在于计算机内存中的一种结构,由开发人员创建,向模板提供信息。
    注意:FreeMarker数据模型不是文本文件。FreeMarker的数据模型是树状结构的。
    如本文所示的:
    User.java
      public class User{
     private userName;
     private userPassword;
     
        …(省略getter setter方法) 
    }
    User对象的树状模型如:
    (root)
      |+-user
        |+-userName=“张三”
        |+-userPassword=“123”   
     要访问user对象的userName属性,可以通过点操作符号如:user.userName

    三、在eclipse中填充FreeMarker数据模型
    FreeMarker的根对象使用Map建立的。将创建好的User对象已键-值对得形式封装到Map中如:
     Map<?,?> root=new HashMap<?,?>();
     root.put(“user”,user);

      至此,我们在eclipse中已经完成了大部分的前期准备工作。
    FreeMarker工作原理中讲到: 数据+模型=输出,那么我们该如何获得想要的结果呢。
    也许你已经想到了,创建FreeMarker的模板引擎,解析模板。步骤如下:
    1.创建和配置Configuration对象,Configuration对象实例负责管理FreeMarker模板的路径加载及模板的创建和缓存。通常应用程序的生命周期中只会创建一个Configuration实例。
    Configuration config=new Configuration();
    config.setDirectoryForTemplateLoading(new File(“templates”));
    config.setObjectWrapper(new DefaultObjectWraaper());

    2.获取模板实例,即通过Configuration实例获取Template实例,调用getTemplate()方法。
    Template template=config.getTemplate(templateName);

    3.合并数据模型和模板
    通过调用Template实例的process()方法合并数据模型和模板,方法接受一个数据模型的根和一个writer作为参数,将结果输出到Writer。 为简化起见,本例输出到控制台
    Writer out=new OutputStreamWriter(System.out);
    template.process(root , out);
    out.flush();
    out.close();
    好了,通过上面的讲解,您已经对FreeMarker的应用有了一定的了解。现在开始我们就来创建属于自己的Freemarker用例吧
    本例的开发环境: Eclipse3.2+MyEclipse6.0+JDK5.0+FreeMarker
    1)在在eclipse中建立一个工程:freeMakerTest
    2)下载FreeMaker工具包,解压后,在lib目录下拷贝freemark.jar到freeMakerTest工程下的lib目录中。
     下载地址:http://www.freemarker.org/index.html
    3)在在eclipse中的src目录下创建如下图所示的目录结构:



    templates文件夹存放user.ftl文件。
    test/frrmrker/uitl/文件夹下存放Freemarker模板引擎 FreeMarkertUtil.java。
    test/client文件夹下存放客户端测试类 ClientTest.java ,User.java
    4)在eclipse中编写user.ftl文件,FreeMarkertUtil.java, ClientTest.java ,User.java

  • 相关阅读:
    jumperserver3.0的安装部署
    zookeeper3.4.6配置实现自动清理日志
    因为修改linux selinux修改错误产生的问题及解决办法
    修改linux系统编码
    linux如何连接移动硬盘
    调整linux系统时区
    关于公司夫妻档的事情
    hive将数据导致本地磁盘
    shell如何向python传递参数,shell如何接受python的返回值
    关于日志API接口中流量的使用。
  • 原文地址:https://www.cnblogs.com/weipeng/p/2504520.html
Copyright © 2011-2022 走看看