Freemarker入门

工程引入依赖

<dependency>

<groupId>org.freemarker</groupId>

<artifactId>freemarker</artifactId>

<version>2.3.23</version>

</dependency>  

1.3.2创建模板文件

模板文件中四种元素

1、文本,直接输出的部分
  2、注释,即<#--...-->格式不会输出
  3、插值(Interpolation):即${..}部分,将使用数据模型中的部分替代输出
  4、FTL指令:FreeMarker指令,和HTML标记类似,名字前加#予以区分,不会输出。

我们现在就创建一个简单的创建模板文件test.ftl

<html>

<head>

<meta charset="utf-8">

<title>Freemarker入门小DEMO </title>

</head>

<body>

<#--我只是一个注释,我不会有任何输出  -->

${name},你好。${message}

张三 你好.

</body>

</html>

这里有文本、插值和注释

生成文件

使用步骤:

第一步:创建一个 Configuration 对象,直接 new 一个对象。构造方法的参数就是 freemarker的版本号。

第二步:设置模板文件所在的路径。

第三步:设置模板文件使用的字符集。一般就是 utf-8.

第四步:加载一个模板,创建一个模板对象。

第五步:创建一个模板使用的数据集,可以是 pojo 也可以是 map。一般是 Map。

第六步:创建一个 Writer 对象,一般创建一 FileWriter 对象,指定生成的文件名。

第七步:调用模板对象的 process 方法输出文件。

第八步:关闭流

代码:

创建Test类 main方法如下:

     //1.创建配置类

Configuration configuration=new Configuration(Configuration.getVersion());

//2.设置模板所在的目录

configuration.setDirectoryForTemplateLoading(new File("D:/pinyougou_work/freemarkerDemo/src/main/resources/"));

//3.设置字符集

configuration.setDefaultEncoding("utf-8");

//4.加载模板

Template template = configuration.getTemplate("test.ftl");

//5.创建数据模型

Map map=new HashMap();

map.put("name", "张三 ");

map.put("message", "欢迎来到神奇的品优购世界!");

//6.创建Writer对象

Writer out =new FileWriter(new File("d:\\test.html"));

Idea

Writer out =new PrintWriter(new File("d:\\test.html"),”UTF-8”);

//7.输出

template.process(map, out);

//8.关闭Writer对象

out.close(); 

执行后,在D盘根目录即可看到生成的test.html ,打开看看

Freemarker入门的更多相关文章

  1. Freemarker入门案例

    Freemarker入门案例 首先需要到freemarker官方下载freemarker的jar包,导入到项目中,如:freemarker-2.3.19.jar 1.先建个freemarker的工具类 ...

  2. freemarker入门实例

    freemarker入门实例 1.设计思路 (1)新建Maven Project (2)生成freemarker模板 (3)写freemarker页面ftl文件 (4)写测试文件 2.新建Maven ...

  3. 网页静态化技术--Freemarker入门

    网页静态化技术:为什么要使用网页静态化技术 网页静态化解决方案在实际开发中运用比较多,例如新闻网站,门户网站中的新闻频道或者是文章类的频道. 对于电商网站的商品详细页来说,至少几百万个商品,每个商品又 ...

  4. Freemarker入门Demo

    1:工程引入依赖 <dependency> <groupId>org.freemarker</groupId> <artifactId>freemark ...

  5. 【翻译】FreeMarker——入门

    原文传送门 1. Template + data-model = output data-model是一个树状模型,通常是一个java对象. 2.data-model 入门 hashes(散列):目录 ...

  6. freeMarker入门示例

    1.创建Web项目freeMarkerDemo. 2.添加jar包---freemarker-2.3.9.jar. 3.在WebContent目录下新建templates文件夹,用于放置模板文件ftl ...

  7. freemarker入门实例与源码研究准备工作

    首先去freemarker官网下载源码jar包,本文是基于freemarker-2.3.21.tar.gz进行研究的.解压源码包,找到freemarker的源码部分导入eclipse工程中.需要注意的 ...

  8. Freemarker 入门示例(zhuan)

    http://cuisuqiang.iteye.com/blog/2031768 ************************************ 初步学习freemarker ,先做一个简单 ...

  9. freemarker入门教程

    FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1,文本:直接输出的部分 2,注释:<#-- ... -->格式部分,不会输 ...

随机推荐

  1. aircrack 破解wifi密码

    分享一个用aircrack破解wifi密码的步骤: 1.新建一个终端 airmon-ng check kill airmon-ng start wlan0 airodump-ng wlan0mon 此 ...

  2. sqlserver触发器执行顺序【未经验证】

    exec sp_settriggerorder @triggername = 'tr_customer_1', @order = 'first', @stmttype = 'insert',@name ...

  3. 【redis】之centos6.x安装redis3.0.x

    centos6.9_x86_64 1.下载redis安装包 http://download.redis.io/releases/redis-3.2.9.tar.gz 2.解压 编译到指定得目录 mak ...

  4. C/C++中字符串和数字互转小结

    一. 数字 转 char*型 1.sprintf函数(适合C和C++) 示例: char str[50]; int num = 345; sprintf(str,"%d",num) ...

  5. java翻转字符串中的单词

    效果: 输入: "java and python" 输出: "avaj dna nohtyp" 代码: 版本1: 不考虑字符串开头有空格,单词间有多个空格空格的 ...

  6. vue-router总结2

    在上一篇总结了vue-router中的路由切换.重定向和路由传参等知识,因为篇幅的原因,便将剩下的路由模块化.路由嵌套.history模式.路由守卫等放在这里来写了.因为是继续前面的写.所以代码也还是 ...

  7. 学习笔记之Anaconda / PyCharm

    Anaconda https://www.anaconda.com/ The Most Popular Python Data Science Platform Getting started wit ...

  8. Oracle 故障整理

    #created at 18-10-28 by nod #提示磁盘空间已满 不能登录数据库 18-10-28 [oracle@oracle ~]$ sqlplus / as sysdba SQL*Pl ...

  9. Zabbix 卸载包 采用yum方式

  10. HDOJ 2005 第几天?

    #include<iostream> using namespace std; ] = { ,,,,,,,,,,, }; ] = { ,,,,,,,,,,, }; bool isRYear ...