一、通过文件来创建模版对象,并执行插值操作

文件结构为:

Test.Java中的代码为:

  1. package com.abc;
  2. import freemarker.template.Configuration;
  3. import freemarker.template.Template;
  4. import java.io.File;
  5. import java.io.OutputStreamWriter;
  6. import java.util.HashMap;
  7. import java.util.Map;
  8. public class Test {
  9. public static void main(String[] args) throws Exception {
  10. //创建一个Configuration实例
  11. final Configuration cfg;
  12. cfg = new Configuration();
  13. //设置FreeMarker的模版文件夹位置
  14. cfg.setDirectoryForTemplateLoading(new File("D:\\workspace\\freemarkertest\\src\\com\\abc"));
  15. Map<String, String> map = new HashMap<String, String>();
  16. map.put("user", "Zheng");
  17. map.put("website", "金额宝");
  18. map.put("url", "http://www.jebao.net/");
  19. //创建模版对象
  20. Template t = cfg.getTemplate("test.ftl");
  21. //在模版上执行插值操作,并输出到制定的输出流中
  22. t.process(map, new OutputStreamWriter(System.out));
  23. }
  24. }

Test.ftl中的代码为:

  1. <html>
  2. <head>
  3. <title>Welcome!</title>
  4. </head>
  5. <body>
  6. <h1>Welcome ${user}!</h1>
  7. <p>Our latest product:
  8. <a href="${url}">${website}</a>!
  9. </body>
  10. </html>
  11. 尊敬的用户你好!
  12. 用户名:${user}
  13. URL:    ${url}
  14. 网站:  ${website}

运行结果为:

</head>

<body>

<h1>Welcome Zheng!</h1>

<p>Our latest product:

<ahref="http://www.jebao.NET/">金额宝</a>!

</body>

</html>

尊敬的用户你好!

用户名:Zheng

URL:   http://www.jebao.Net/

FreeMarker最简单的例子(1)的更多相关文章

  1. Freemarker 最简单的例子程序

    首先导入包,freemarker.jar   下载地址:  freemarker-2.3.18.tar.gz http://cdnetworks-kr-1.dl.sourceforge.net/pro ...

  2. FreeMarker最简单的例子(2)

    二.通过String来创建模版对象,并执行插值处理 代码: package com.abc; import freemarker.template.Template; import java.io.O ...

  3. Struts2的配置和一个简单的例子

    Struts2的配置和一个简单的例子 笔记仓库:https://github.com/nnngu/LearningNotes 简介 这篇文章主要讲如何在 IntelliJ IDEA 中使用 Strut ...

  4. 简单的例子了解自定义ViewGroup(一)

    在Android中,控件可以分为ViewGroup控件与View控件.自定义View控件,我之前的文章已经说过.这次我们主要说一下自定义ViewGroup控件.ViewGroup是作为父控件可以包含多 ...

  5. CSharpGL(1)从最简单的例子开始使用CSharpGL

    CSharpGL(1)从最简单的例子开始使用CSharpGL 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立的Demo ...

  6. 用一个简单的例子来理解python高阶函数

    ============================ 用一个简单的例子来理解python高阶函数 ============================ 最近在用mailx发送邮件, 写法大致如 ...

  7. Spring-Context之一:一个简单的例子

    很久之前就想系统的学习和掌握Spring框架,但是拖了很久都没有行动.现在趁着在外出差杂事不多,就花时间来由浅入深的研究下Spring框架.Spring框架这几年来已经发展成为一个巨无霸产品.从最初的 ...

  8. C#调用存储过程简单完整例子

    CREATE PROC P_TEST@Name VARCHAR(20),@Rowcount INT OUTPUTASBEGIN SELECT * FROM T_Customer WHERE NAME= ...

  9. 关于apriori算法的一个简单的例子

    apriori算法是关联规则挖掘中很基础也很经典的一个算法,我认为很多教程出现大堆的公式不是很适合一个初学者理解.因此,本文列举一个简单的例子来演示下apriori算法的整个步骤. 下面这个表格是代表 ...

随机推荐

  1. Docker 常用命令收集

    查看Docker版本 docker version 查看 Image docker images 打包 Image docker save -o ‘packageName.tar’ ‘imageNam ...

  2. lr_Controller界面图

    lr可用运行图介绍: lr集合点策略:

  3. 搭建openstack系统初始化(2)

    操作系统环境 :Centos 7.3 x64 1).安装需要的包 yum install wget vim chrony net-tools bash-completion -y 2)配置阿里elpl ...

  4. Codeforces Round #274 (Div. 2) Riding in a Lift(DP 前缀和)

    Riding in a Lift time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...

  5. Python开发基础-Day7-闭包函数和装饰器基础

    补充:全局变量声明及局部变量引用 python引用变量的顺序: 当前作用域局部变量->外层作用域变量->当前模块中的全局变量->python内置变量 global关键字用来在函数或其 ...

  6. 删除Kali Linux多余的系统架构

    删除Kali Linux多余的系统架构   现在大家通常安装的都是Kali Linux 64位操作系统,其架构为amd64.如果要安装运行32位的程序(如wine32),则必须添加32位架构i386. ...

  7. BZOJ 4884 [Lydsy2017年5月月赛]太空猫(单调DP)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4884 [题目大意] 太空猫(SpaceCat)是一款画面精致.玩法有趣的休闲游戏, 你 ...

  8. js作用域对象与运用技巧

    1. JS作用域 1.1 全局作用域和局部作用域 函数外面声明的就是 全局作用域 函数内是局部作用域 全局变量可以直接在函数内修改和使用 变量,使用var是声明,没有var是使用变量. 如果在函数内使 ...

  9. mybatis批量update,返回行数为-1

    mybatis批量更新返回结果为-1,是由于mybatis的defaultExExecutorType引起的,    它有三个执行器:SIMPLE 就是普通的执行器:REUSE 执行器会重用预处理语句 ...

  10. Educational Codeforces Round 8 A. Tennis Tournament 暴力

    A. Tennis Tournament 题目连接: http://www.codeforces.com/contest/628/problem/A Description A tennis tour ...