java工程中使用freemarker例子

Posted 疯子加天才

tags:

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

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

java工程目录如下:

test.ftl文件

html代码  收藏代码
  1. name : ${name}  
  2. age : ${age}  

 test类

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代码  收藏代码
  1. name : cxl  
  2. age : 25  

 
 

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

Free 基础概念

FreeMarker:Java模板引擎

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

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

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

Freemarker + xml 实现Java导出word