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

  • 相关阅读:
    9、Spring Boot 2.x 集成 Thymeleaf
    【专题】Spring Boot 2.x 面试题
    8、Spring Boot 2.x 服务器部署
    7、Spring Boot 2.x 集成 Redis
    6、Spring Boot 2.x 集成 MyBatis
    5、Spring Boot 2.x 启动原理解析
    4、Spring Boot 2.x 自动配置原理
    3、Spring Boot 2.x 核心技术
    2、Spring Boot 2.x 快速入门
    centOS下安装JDK1.8.60,glassfish4.1.1以及MySQL
  • 原文地址:https://www.cnblogs.com/weipeng/p/2504520.html
Copyright © 2011-2022 走看看