freemarker小例子 启发模板设计

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

  1. packagecom.wlh.oa.freemarker;
  2. importjava.io.BufferedWriter;
  3. importjava.io.File;
  4. importjava.io.FileWriter;
  5. importjava.io.PrintWriter;
  6. importjava.util.HashMap;
  7. importjava.util.Map;
  8. importjunit.framework.TestCase;
  9. importfreemarker.template.Configuration;
  10. importfreemarker.template.DefaultObjectWrapper;
  11. importfreemarker.template.Template;
  12. importfreemarker.template.TemplateExceptionHandler;
  13. publicclassFreemarkerTestextendsTestCase{
  14. privateStringdir="D://freemarker";
  15. publicvoidtestFreemarker(){
  16. try{
  17. Configurationcfg=newConfiguration();
  18. //从什么地方加载freemarker模板文件
  19. cfg.setDirectoryForTemplateLoading(newFile(dir));
  20. //设置对象包装器
  21. cfg.setObjectWrapper(newDefaultObjectWrapper());
  22. //设置异常处理器
  23. cfg.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER);
  24. //定义Template对象
  25. Templatetemplate=cfg.getTemplate("test.ftl");
  26. //定义数据
  27. Maproot=newHashMap();
  28. root.put("abc","世界,你好");
  29. //定义输出
  30. PrintWriterout
  31. =newPrintWriter(
  32. newBufferedWriter(
  33. newFileWriter(dir+"//out.txt")
  34. )
  35. );
  36. //****最重要的就是这一步,动态加载“世界,你好”到abc所在的位置
  37. template.process(root,out);
  38. }catch(Exceptione){
  39. e.printStackTrace();
  40. }
  41. }
  42. }

你可能感兴趣的:(freemarker)