zoukankan      html  css  js  c++  java
  • Freemarker入门

    Freemarker入门

    工程引入依赖

    <dependency>
    
    <groupId>org.freemarker</groupId>
    
    <artifactId>freemarker</artifactId>
    
    <version>2.3.23</version>
    
    </dependency>  

    1.3.2创建模板文件

    模板文件中四种元素

      1、文本,直接输出的部分
      2、注释,即<#--...-->格式不会输出
      3、插值(Interpolation):即${..}部分,将使用数据模型中的部分替代输出
      4、FTL指令:FreeMarker指令,和HTML标记类似,名字前加#予以区分,不会输出。

    我们现在就创建一个简单的创建模板文件test.ftl

    <html>
    
    <head>
    
    <meta charset="utf-8">
    
    <title>Freemarker入门小DEMO </title>
    
    </head>
    
    <body>
    
    <#--我只是一个注释,我不会有任何输出  -->
    
    ${name},你好。${message}
    
    张三 你好.
    
    </body>
    
    </html>

    这里有文本、插值和注释

    生成文件

    使用步骤:

    第一步:创建一个 Configuration 对象,直接 new 一个对象。构造方法的参数就是 freemarker的版本号。

    第二步:设置模板文件所在的路径。

    第三步:设置模板文件使用的字符集。一般就是 utf-8.

    第四步:加载一个模板,创建一个模板对象。

    第五步:创建一个模板使用的数据集,可以是 pojo 也可以是 map。一般是 Map。

    第六步:创建一个 Writer 对象,一般创建一 FileWriter 对象,指定生成的文件名。

    第七步:调用模板对象的 process 方法输出文件。

    第八步:关闭流

    代码:

    创建Test类 main方法如下:

         //1.创建配置类
    
    Configuration configuration=new Configuration(Configuration.getVersion());
    
    //2.设置模板所在的目录
    
    configuration.setDirectoryForTemplateLoading(new File("D:/pinyougou_work/freemarkerDemo/src/main/resources/"));
    
    //3.设置字符集
    
    configuration.setDefaultEncoding("utf-8");
    
    //4.加载模板
    
    Template template = configuration.getTemplate("test.ftl");
    
    //5.创建数据模型
    
    Map map=new HashMap();
    
    map.put("name", "张三 ");
    
    map.put("message", "欢迎来到神奇的品优购世界!");
    
    //6.创建Writer对象
    
    Writer out =new FileWriter(new File("d:\test.html"));
    
    Idea
    
    Writer out =new PrintWriter(new File("d:\test.html"),”UTF-8”);
    
    //7.输出
    
    template.process(map, out);
    
    //8.关闭Writer对象
    
    out.close(); 

    执行后,在D盘根目录即可看到生成的test.html ,打开看看

     

  • 相关阅读:
    杭电-------2051Bitset(C语言)
    杭电-------2048不容易系列之(4)考新郎(C语言)
    杭电------2048神上帝以及老天爷(C语言写)
    杭电-------2047阿牛的eof牛肉串(C语言写)
    杭电-------2046骨牌铺方格(C语言写)
    杭电-------2045不容易系列之(3)—— LELE的RPG难题(C语言写)
    数据库索引总结(二)
    数据库索引总结(一)
    后端程序员必备的 Linux 基础知识
    不了解布隆过滤器?一文给你整的明明白白!
  • 原文地址:https://www.cnblogs.com/alexzhang92/p/10417084.html
Copyright © 2011-2022 走看看