一、什么是 FreeMarker

  FreeMarker 是一个用 Java 语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker 与 Web 容器无关,即在 Web 运行时,它并不知道 Servlet 或 HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成 XML,JSP 或 Java  等。

目前企业中:主要用Freemarker做静态页面或是页面展示

二、在 eclipse 上安装 FreeMarker 插件

1、FreeMarker 插件下载

  链接:https://pan.baidu.com/s/12deTWocaiMqvLiZ-TcdqsA 密码:m166

2、把该插件放到 eclipse 指定的目录下,然后重启 eclipse

三、FreeMarker 用法

1、在 WEB-INFO 目录下新建 ftl 目录,在 ftl 目录下新建 hello.flt 文件,该文件就是模板文件。 ( 该文件名的后缀任意,但是 FreeMarker  默认后缀是 ftl )

2、 hello.flt 文件内容

${hello}

3、java 测试代码

@Test
public void testFreeMarker() throws Exception {
//1、创建一个模板文件
//2、创建一个Configuration对象
Configuration configuration = new Configuration();
//3、设置模板文件保存的目录
configuration.setDirectoryForTemplateLoading(new File("E:/workspaces/fw-item-web/src/main/webapp/WEB-INF/ftl"));
//4、模板文件的编码格式,一般就是utf-8
configuration.setDefaultEncoding("utf-8");
//5、加载一个模板文件,创建一个模板对象。
Template template = configuration.getTemplate("hello.ftl");
//6、创建一个数据集。可以是pojo也可以是map。推荐使用map
Map data = new HashMap<>();
data.put("hello", "hello freemarker!");
//7、创建一个Writer对象,指定输出文件的路径及文件名。
Writer out = new FileWriter(new File("E:/freemarker/hello.txt"));
//8、生成静态页面
template.process(data, out);
//9、关闭流
out.close();
}

4、结果

5、实际行就是将 hello.ftl 文件中的 ${hello} 替换为了 hello.txt 文件中的 hello freemarker

  

最新文章

  1. FFmpeg学习4:音频格式转换
  2. BZOJ2037: [Sdoi2008]Sue的小球
  3. 搭建高性能计算环境(四)、应用软件的安装之VASP
  4. jquery 验证插件 validate
  5. Hibernate 性能优化之查询缓存
  6. 数组在C++和java中的区别
  7. [SQL基础教程] 2-3 逻辑运算符
  8. 【Centos7】5分钟理解防火墙firewalld
  9. Redis安装与卸载
  10. WebService案例入门(基础篇)
  11. win7 中如何设置eclipse的背景色--Console
  12. JHipster生成微服务架构的应用栈(四)- 网关微服务示例
  13. 如何修改Jupyter Notebook的主题
  14. $nextTick 的作用
  15. python web篇 Django centos 命令版
  16. redis 4 集群重启与数据导入
  17. Implementation of Serial Wire JTAG flash programming in ARM Cortex M3 Processors
  18. PHP 连接oracle
  19. 【代码笔记】iOS-cell自动变化大小
  20. hdu 4859 最小割

热门文章

  1. 项目结构、包、编译为exe!
  2. CentOS 7 安装Nginx做反向代理
  3. 贪吃蛇c++实现
  4. Java访问HTTPS时证书验证问题
  5. ServletContextAware、ServletRequestAware、ServletResponseAware、SessionAware
  6. AIX的系统备份
  7. MySQL实现表之间的字段更新
  8. 7.Performance Statistics(性能统计)
  9. GCC编译步骤
  10. 一个不错的学习android的网站