freemarker最简单的测试小demo

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-02 05:33:41

本质

freemarker的本质:
数据 + 模板 = 页面

测试简单字符串模板


import freemarker.template.Configuration;
import freemarker.template.Template;
import org.junit.Test;
import org.omg.CORBA.PUBLIC_MEMBER;

import java.io.File;
import java.io.FileWriter;
import java.util.HashMap;
import java.util.Map;

public class GenHtml {

    private static final String diretorypath = "E:\\workspace\\mvc\\2\\taotao\\itheima-freemarker\\src\\main\\resources\\template";
    private static final String prehtmlfilepath = "E:\\workspace\\mvc\\2\\taotao\\itheima-freemarker\\src\\main\\resources\\html";

    //生成静态页面的方法
    @Test
    public void testFreeMarker() throws Exception{
        //1.创建个configuration对象
        Configuration configuration = new Configuration(Configuration.getVersion());
        //2.设置模板文件所在的路径的目录
        configuration.setDirectoryForTemplateLoading(new File(diretorypath));
        //3.设置模板文件的字符集
        configuration.setDefaultEncoding("utf-8");
        //4.首先创建模板文件,再加载模板文件 模板文件的后缀官方提供是.ftl 其实任何类型都行。
        Template template = configuration.getTemplate("template.htm");//相对路径
        //5.创建模板文件需要展示数据的数据集对象,可以使用POJO,也可以使用map 一般是使用map
        Map model = new HashMap<>();
        model.put("hello", "hello world");
        //6.创建一个FileWriter对象 指定生成的静态文件的文件路径及文件名
        //拼接一个前缀和后缀
        FileWriter writer = new FileWriter(new File(prehtmlfilepath+"/result.html"));
        //7.调用模板对象的process方法,执行输出文件。
        template.process(model, writer);
        //8.关闭流
        writer.close();
    }


}

template.htm
在这里插入图片描述
在这里插入图片描述

测试对象模板

在这里插入图片描述
在这里插入图片描述

public class GenHtml {

    private static final String diretorypath = "E:\\workspace\\mvc\\2\\taotao\\itheima-freemarker\\src\\main\\resources\\template";
    private static final String prehtmlfilepath = "E:\\workspace\\mvc\\2\\taotao\\itheima-freemarker\\src\\main\\resources\\html";

    //生成静态页面的方法
    @Test
    public void testFreeMarker() throws Exception{
        //1.创建个configuration对象
        Configuration configuration = new Configuration(Configuration.getVersion());
        //2.设置模板文件所在的路径的目录
        configuration.setDirectoryForTemplateLoading(new File(diretorypath));
        //3.设置模板文件的字符集
        configuration.setDefaultEncoding("utf-8");
        //4.首先创建模板文件,再加载模板文件 模板文件的后缀官方提供是.ftl 其实任何类型都行。
        Template template = configuration.getTemplate("template.htm");//相对路径
        //5.创建模板文件需要展示数据的数据集对象,可以使用POJO,也可以使用map 一般是使用map
        Map model = new HashMap<>();

        Person person1 = new Person(1L, "嬴荡");
        Person person2 = new Person(2L, "嬴政");
        Person person3 = new Person(3L, "嬴稷");
       //对象
        model.put("person1", person1);
        model.put("person2", person2);
        model.put("person3", person3);
        //集合
        List<Person> list = new ArrayList<>();
        list.add(person1);
        list.add(person2);
        list.add(person3);

        model.put("list",list);

        //6.创建一个FileWriter对象 指定生成的静态文件的文件路径及文件名
        //拼接一个前缀和后缀
        FileWriter writer = new FileWriter(new File(prehtmlfilepath+"/person.html"));
        //7.调用模板对象的process方法,执行输出文件。
        template.process(model, writer);
        //8.关闭流
        writer.close();
    }


}

在这里插入图片描述

jar包

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

收刀!!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!