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 ,打开看看

     

  • 相关阅读:
    Java实现 LeetCode 56 合并区间
    JQuery实现对html结点的操作(创建,添加,删除)
    JQuery实现对html结点的操作(创建,添加,删除)
    JQuery实现对html结点的操作(创建,添加,删除)
    Java实现 LeetCode 55 跳跃游戏
    Java实现 LeetCode 55 跳跃游戏
    Java实现 LeetCode 55 跳跃游戏
    Java实现 LeetCode 54 螺旋矩阵
    Java实现 LeetCode 54 螺旋矩阵
    Java实现 LeetCode 54 螺旋矩阵
  • 原文地址:https://www.cnblogs.com/alexzhang92/p/10417084.html
Copyright © 2011-2022 走看看