相信很多人都用过freemarker,或做视图,或模板,或生成静态文件等,但是有多少人做过这样的应用,通过模板后,不是要输出静态的内容,而是直接在代码中获取处理模板后的内容,研究了下API,freemarker里提供StringWriter,StringWriter不需要指定文件,所以看名字也能知道,他能直接获取处理后的内容,代码如下

Java代码  
  1. import java.io.IOException;
  2. import java.io.StringWriter;
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7. import freemarker.template.Configuration;
  8. import freemarker.template.Template;
  9. import freemarker.template.TemplateException;
  10. public class TestFreemarker
  11. {
  12. @SuppressWarnings("unchecked")
  13. public static void main(String[] args) throws IOException
  14. {
  15. Configuration cfg = new Configuration();
  16. cfg.setDirectoryForTemplateLoading(new File("E:\\kuaipan\\workspace2016\\freemarker001\\src\\hello"));
  17. List<String> strList=new ArrayList<String>();
  18. for (int i = 0; i < 2000; i++)
  19. {
  20. strList.add("第  "+i+" 个");
  21. }
  22. Map root = new HashMap();
  23. root.put("message", "您好!");
  24. root.put("username", "diqiu");
  25. root.put("strList", strList);
  26. Template t = cfg.getTemplate("test.txt");
  27. //最关键在这里,不使用与文件相关的Writer
  28. StringWriter stringWriter=new StringWriter();
  29. try
  30. {
  31. t.process(root, stringWriter);
  32. //这里打印的就是通过模板处理后得到的字符串内容
  33. System.out.println("stringWriter: "+stringWriter.toString());
  34. } catch (TemplateException e)
  35. {
  36. e.printStackTrace();
  37. }
  38. }
  39. }

test.txt模板里的内容如下:

Java代码  
  1. ${message}
  2. ${username}
  3. ${strList?size}
  4. <#list strList as str>
  5. str:${str}; 哈哈
  6. </#list>

获取freemarker处理后的内容相关推荐

  1. 安卓开发实现获取扫码枪扫码二维码、条形码后的内容

    扫码枪是如何工作的,安卓如何怎么获取扫码枪的内容.本文将介绍安卓获取和处理商米收银机扫码枪扫描后的内容.包括:"安卓开发获取扫码枪扫描后的内容"."处理扫码枪扫描后的内容 ...

  2. python爬虫获取的网页数据为什么要加[0-Python爬虫实战1-解决需要爬取网页N秒后的内容的需求...

    -------谢谢您的参考,如有疑问,欢迎交流 前引: 当你需要爬取的页面内容在访问页面5秒后才会出现, 这时使用python的requests模块就很难爬取到你想要的内容了. requests和se ...

  3. java获取页面标签_java获取网页源代码后,提取标签内容……

    java获取网页源代码后,提取标签内容-- 关注:245  答案:2  mip版 解决时间 2021-02-01 09:11 提问者咏bù琂败 2021-01-31 13:49 import java ...

  4. jquery获取url最后一个斜杠前、后的内容

    jquery获取url最后一个斜杠前.后的内容 1.js $(function() {// content css3var htmlHref = window.location.href;htmlHr ...

  5. javascript 获取光标所选中的内容并插入到另一个文本框中(兼容ie和ff)

    项目中正好用到 做下笔记方便以后查找 ie获取光标的位置使用document.selection.createRange() 火狐下使用document.getElementById(id).sele ...

  6. 使用curl获取Location:重定向后url

    在php获取http头部信息上,php有个自带的函数get_headers(),我以前也是用这个的,听说效率在win上不咋地,再加上最近研究百度url无果,写了cURL获取重定向url的php代码来折 ...

  7. Electron中实现拖拽文件进div中通过File对象获取文件的路径和内容

    场景 用HTML和CSS和JS构建跨平台桌面应用程序的开源库Electron的介绍以及搭建HelloWorld: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/a ...

  8. 简单却实用的的例子:Jquery获取 radio 选中后的文字

    今天在 QQ 群里有朋友问到 jQuery 怎么获取选中 radio 后的文本,可见要熟练的使用 jQuery 应该很好的掌握 jQuery 选择器,下边就让我们简单看看这个问题. 首先,他给出的 H ...

  9. php获取跳转后url,php获取跳转后真实url的方法

    php获取跳转后真实url的方法 发布时间:2020-08-01 14:17:56 来源:亿速云 阅读:68 作者:清晨 这篇文章主要介绍php获取跳转后真实url的方法,文中介绍的非常详细,具有一定 ...

最新文章

  1. JVM:垃圾回收相关算法
  2. java代码讲解_Java基础系列-代码块详解
  3. 为何从单体架构迁移到微服务这么难?
  4. python【力扣LeetCode算法题库】面试题 10.01-合并排序的数组
  5. s111 stark组件
  6. C++描述杭电OJ 2000. ASCII码排序 ||
  7. 期待!2019年春晚将成为科技盛宴:5G、4K都安排上了
  8. 常用的比较排序算法总结
  9. 截止到 2019 年 6 月 14 日在 LeetCode 中文版上写的题解
  10. 统计学和计算机类对比,统计学与计算机的关系
  11. matlab 结果导入excel,Matlab导入Excel文件中的数据的详细教程分享
  12. 怎么设置百度网盘免验证登陆?
  13. 机动车尾气排放模型综述
  14. 七彩虹 iGame G-ONE Plus 27寸游戏一体机 评测
  15. 祝贺 StreamX 开源一周年
  16. 计算机辅助设计技术领域的应用,关于计算机辅助设计技术在规划设计中的应用...
  17. Tecplot 3602015
  18. 51Nod 1737 配对
  19. 【分布式任务调度】(三)XXL-JOB调度中心对执行器的上下线感知实现原理
  20. android11.0 Launcher3 高端定制之新应用图标自动添加主屏幕

热门文章

  1. window10维护不了华为服务器,win10怎么打开云服务器异常
  2. es6判断对象key是否存在,ES6中获取对象的key
  3. git 切换分支_git 入门教程之分支总览
  4. 动态设置html字号,动态设置html的font-size值 (适配文字大小)
  5. ssh免密登录配置方法及配置
  6. Linux系统的基本安装
  7. Deepin安装最新显卡RTX2080Ti及CUDA10.1
  8. HDU1284——钱币兑换问题【dp】
  9. Cow Contest【最短路-floyd】
  10. 【Infragistics教程】在javascript构造函数中创建基本继承