欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

网页静态化技术Freemarker——demo(2)

程序员文章站 2022-04-29 20:57:38
...

动态生成FreeMarker静态页面

继上上一篇文章
https://blog.csdn.net/qq_44322555/article/details/103803821
上篇文章主要讲述了使用FreeMarker的网页静态化技术以及如何将后台的数据响应到FreeMarker的模板页面中,接下来所要介绍的是使用FreeMarker的网页静态化技术如何实现呢?

编写demo完成该例子

1、创建一个项目这里我创建的是一个maven项目
网页静态化技术Freemarker——demo(2)
2、加入freeMarker的依赖包

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

3、在resources目录下创建FreeMarker的模板(test.ftl)

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

4、编写工具类生成html页面

package com.gu.demo;

import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;

import java.io.*;
import java.util.HashMap;
import java.util.Map;

/**
 * 动态生成freemarker模板页面
 */
public class Test {

    public static void main(String[] args) throws IOException, TemplateException {

        //创建配置类
        Configuration configuration=new Configuration(Configuration.getVersion());

        //设置模板所在目录
        configuration.setDirectoryForTemplateLoading(
                new File("D:/study/eleventh__idea/freemarker_demo/src/main/resources")
        );

        //设置字符集
        configuration.setDefaultEncoding("UTF-8");
        //加载resources下的FreeMarker模板
        Template template = configuration.getTemplate("test.ftl");

        //创建数据模型
        Map<String,String> map = new HashMap<String, String>();
        map.put("name","张三");
        map.put("message","欢迎来到FreeMarker的世界");

        //输出Writer对象
        Writer writer = new FileWriter(new File("d:\\text.html"));

        //输出
        template.process(map,writer);
        //关闭流
        writer.close();


    }

}

成功运行main方法之后,就会在对应路径下生成html文件了
网页静态化技术Freemarker——demo(2)

这就是FreeMarker的基本使用,包括他的如何成为网页静态化的步骤,通过这两篇文章希望能够帮助到对FreeMarker的初学者;FreeMarker的功能以及他的作用起始不仅仅是这些,其实FreeMarker里面的一些其他知识点,比如指令在Free Marker页面中如何操作以及一些特殊的数据如何处理等等;

陆续更新吧,感谢您的欣赏!!!

相关标签: FreeMarker