一、什么是 FreeMarker
FreeMarker 是一个用 Java 语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker 与 Web 容器无关,即在 Web 运行时,它并不知道 Servlet 或 HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成 XML,JSP 或 Java 等。
目前企业中:主要用Freemarker做静态页面或是页面展示
二、在 eclipse 上安装 FreeMarker 插件
1、FreeMarker 插件下载
链接:https://pan.baidu.com/s/12deTWocaiMqvLiZ-TcdqsA 密码:m166
2、把该插件放到 eclipse 指定的目录下,然后重启 eclipse
三、FreeMarker 用法
1、在 WEB-INFO 目录下新建 ftl 目录,在 ftl 目录下新建 hello.flt 文件,该文件就是模板文件。 ( 该文件名的后缀任意,但是 FreeMarker 默认后缀是 ftl )
2、 hello.flt 文件内容
${hello}
3、java 测试代码
@Test public void testFreeMarker() throws Exception { //1、创建一个模板文件 //2、创建一个Configuration对象 Configuration configuration = new Configuration(); //3、设置模板文件保存的目录 configuration.setDirectoryForTemplateLoading(new File("E:/workspaces/fw-item-web/src/main/webapp/WEB-INF/ftl")); //4、模板文件的编码格式,一般就是utf-8 configuration.setDefaultEncoding("utf-8"); //5、加载一个模板文件,创建一个模板对象。 Template template = configuration.getTemplate("hello.ftl"); //6、创建一个数据集。可以是pojo也可以是map。推荐使用map Map data = new HashMap<>(); data.put("hello", "hello freemarker!"); //7、创建一个Writer对象,指定输出文件的路径及文件名。 Writer out = new FileWriter(new File("E:/freemarker/hello.txt")); //8、生成静态页面 template.process(data, out); //9、关闭流 out.close(); }
4、结果
5、实际行就是将 hello.ftl 文件中的 ${hello} 替换为了 hello.txt 文件中的 hello freemarker