freemarker小例子 启发模板设计

       1.在D盘下创建一个目录D://freemarker
       2.在以上目录中放入一个模板文件test.tld,内容如下:
          第一个测试程序:${abc}
       3.java代码如下(需要导入freemarker.jar包

  1. package com.wlh.oa.freemarker;   
  2. import java.io.BufferedWriter;   
  3. import java.io.File;   
  4. import java.io.FileWriter;   
  5. import java.io.PrintWriter;   
  6. import java.util.HashMap;   
  7. import java.util.Map;   
  8.   
  9. import junit.framework.TestCase;   
  10. import freemarker.template.Configuration;   
  11. import freemarker.template.DefaultObjectWrapper;   
  12. import freemarker.template.Template;   
  13. import freemarker.template.TemplateExceptionHandler;   
  14.   
  15. public class FreemarkerTest extends TestCase {   
  16.        
  17.     private String dir = "D://freemarker";   
  18.        
  19.     public void testFreemarker(){   
  20.         try {   
  21.             Configuration cfg = new Configuration();   
  22.                
  23.             //从什么地方加载freemarker模板文件   
  24.             cfg.setDirectoryForTemplateLoading(new File(dir));   
  25.                
  26.             //设置对象包装器   
  27.             cfg.setObjectWrapper(new DefaultObjectWrapper());   
  28.                
  29.             //设置异常处理器   
  30.             cfg.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER);   
  31.                
  32.             //定义Template对象   
  33.             Template template = cfg.getTemplate("test.ftl");   
  34.                
  35.             //定义数据   
  36.             Map root = new HashMap();   
  37.             root.put("abc""世界,你好");   
  38.                
  39.             //定义输出   
  40.             PrintWriter out    
  41.                 = new PrintWriter(   
  42.                     new BufferedWriter(   
  43.                         new FileWriter(dir+"//out.txt")   
  44.                     )   
  45.                 );   
  46.                
  47.             //****最重要的就是这一步,动态加载“世界,你好”到abc所在的位置   
  48.             template.process(root, out);   
  49.                
  50.         } catch (Exception e) {   
  51.             e.printStackTrace();   
  52.         }   
  53.            
  54.     }   
  55. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tof21

支持原创

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值