java工程中使用freemarker例子

Posted jeremy1888

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java工程中使用freemarker例子相关的知识,希望对你有一定的参考价值。

新建java project,引入freemarker.jar, 本工程是用的版本:freemarker-2.3.20 版本

java工程目录如下:
技术分享

test.ftl文件

html代码

1 name : ${name}  
2 age : ${age}  

Java代码

 1 package com.freemarker;
 2 
 3 import java.io.File;
 4 import java.io.IOException;
 5 import java.io.OutputStreamWriter;
 6 import java.io.Writer;
 7 import java.util.HashMap;
 8 import java.util.Map;
 9 
10 import freemarker.template.Configuration;
11 import freemarker.template.Template;
12 import freemarker.template.TemplateException;
13 
14 public class Test {
15     public static void main(String[] args) throws IOException, TemplateException {
16 
17         //1.创建配置实例Cofiguration
18         Configuration cfg = new Configuration();
19 
20         //2.设置模板文件目录
21         //(1)src目录下的目录(template在src下)
22         //cfg.setDirectoryForTemplateLoading(new File("src/template"));
23         //(2)完整路径(template在src下)
24         //cfg.setDirectoryForTemplateLoading(new File(
25         //      "D:/cpic-env/workspace/javaFreemarker/src/template"));
26         //cfg.setDirectoryForTemplateLoading(new File("src/template"));
27         //(3)工程目录下的目录(template/main在工程下)--推荐
28         cfg.setDirectoryForTemplateLoading(new File("template/main"));
29         //cfg.setObjectWrapper(new DefaultObjectWrapper());
30         //获取模板(template)
31         Template template = cfg.getTemplate("test.ftl");
32         //建立数据模型(Map)
33         Map<String, String> root = new HashMap<String, String>();
34         root.put("name", "cxl");
35         root.put("age", "25");
36         //获取输出流(指定到控制台(标准输出))
37         Writer out = new OutputStreamWriter(System.out);
38         //StringWriter out = new StringWriter();
39         //System.out.println(out.toString());
40         //数据与模板合并(数据+模板=输出)
41         template.process(root, out);
42         out.flush();
43     }
44 }

运行结果:

java代码

name : cxl  
age : 25  

 


以上是关于java工程中使用freemarker例子的主要内容,如果未能解决你的问题,请参考以下文章

freemarker + spring 配置和最简单的例子

SpringBoot+Mybatis+Freemark 最简单的例子

FreeMarker之根据模板生成Java代码

spring mvc freemarker 怎么让指定的控制器不适用freemarker

Web工程中使用Freemarker导出Word出错,XML文件中使用<#list abc as being></#list> 标记报错,不能识别。

java使用freemarker作为模板导出Excel表格