freemarker最简单的测试小demo

简介: freemarker最简单的测试小demo

本质


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

1dc618a0ed9580ce8bfa6facb208c08f.png

5d4c6812c8535adbb050f4ddf2e1bce8.png


测试对象模板


46a9d80a6e05e4e3b19d57a0ee70bcdf.png

66ba272a0bfc97be54a5fa679e3d5482.png

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();
    }
}

1dc618a0ed9580ce8bfa6facb208c08f.png


jar包


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


收刀!!


相关文章
|
6月前
|
架构师 测试技术 网络性能优化
dpdk课程学习之练习笔记七(vpp环境搭建及plugin demo测试)
dpdk课程学习之练习笔记七(vpp环境搭建及plugin demo测试)
518 0
|
Nacos
按照nacos官方文档做的一个测试的demo,有人做过这块吗?是有啥需要注意的吗?
按照nacos官方文档做的一个测试的demo,有人做过这块吗?是有啥需要注意的吗?
79 1
|
6月前
|
XML SQL Java
ClickHouse【SpringBoot集成】clickhouse+mybatis-plus配置及使用问题说明(含建表语句、demo源码、测试说明)
ClickHouse【SpringBoot集成】clickhouse+mybatis-plus配置及使用问题说明(含建表语句、demo源码、测试说明)
708 0
|
JSON 小程序 Java
微信公众平台测试号——模板消息发送Demo
微信公众平台测试号——模板消息发送Demo
918 0
|
1月前
|
安全 Java 数据库
shiro学习一:了解shiro,学习执行shiro的流程。使用springboot的测试模块学习shiro单应用(demo 6个)
这篇文章是关于Apache Shiro权限管理框架的详细学习指南,涵盖了Shiro的基本概念、认证与授权流程,并通过Spring Boot测试模块演示了Shiro在单应用环境下的使用,包括与IniRealm、JdbcRealm的集成以及自定义Realm的实现。
44 3
shiro学习一:了解shiro,学习执行shiro的流程。使用springboot的测试模块学习shiro单应用(demo 6个)
|
6月前
|
SQL Java 数据库连接
【Java调试】通过SqlSessionFactory类对象获取mapper文件内的动态SQL在执行时的完整SQL及参数(2种使用方法+测试Demo及结果)
【Java调试】通过SqlSessionFactory类对象获取mapper文件内的动态SQL在执行时的完整SQL及参数(2种使用方法+测试Demo及结果)
213 0
|
6月前
|
SQL 前端开发 Java
Hasor【环境搭建 01】SpringBoot集成Dataway接口配置服务(依赖+配置+数据库数据源初始化+注解添加+demo验证测试)
Hasor【环境搭建 01】SpringBoot集成Dataway接口配置服务(依赖+配置+数据库数据源初始化+注解添加+demo验证测试)
176 0
|
Ubuntu 编译器 网络安全
RK3568开发笔记(七):在宿主机ubuntu上搭建Qt交叉编译开发环境,编译一个Demo,目标板运行Demo测试
在之前的博文中已经搭建好了一个比较完善的ubuntu宿主机,都很完善了但是发现没有Qt交叉编译开发环境,所以还需要搭建一套Qt交叉编译开发环境。
|
JavaScript
html使用vue模板、html引入vue.js-测试demo
html使用vue模板、html引入vue.js-测试demo
|
SQL Oracle 关系型数据库
docker快速部署oracle19c、oracle12c,测试环境问题复现demo快速搭建笔记
docker快速部署oracle19c、oracle12c,测试环境问题复现demo快速搭建笔记
1805 0