FreeMarker最简单的例子(1)
一、通过文件来创建模版对象,并执行插值操作
文件结构为:
Test.Java中的代码为:
- package com.abc;
- import freemarker.template.Configuration;
- import freemarker.template.Template;
- import java.io.File;
- import java.io.OutputStreamWriter;
- import java.util.HashMap;
- import java.util.Map;
- public class Test {
- public static void main(String[] args) throws Exception {
- //创建一个Configuration实例
- final Configuration cfg;
- cfg = new Configuration();
- //设置FreeMarker的模版文件夹位置
- cfg.setDirectoryForTemplateLoading(new File("D:\\workspace\\freemarkertest\\src\\com\\abc"));
- Map<String, String> map = new HashMap<String, String>();
- map.put("user", "Zheng");
- map.put("website", "金额宝");
- map.put("url", "http://www.jebao.net/");
- //创建模版对象
- Template t = cfg.getTemplate("test.ftl");
- //在模版上执行插值操作,并输出到制定的输出流中
- t.process(map, new OutputStreamWriter(System.out));
- }
- }
Test.ftl中的代码为:
- <html>
- <head>
- <title>Welcome!</title>
- </head>
- <body>
- <h1>Welcome ${user}!</h1>
- <p>Our latest product:
- <a href="${url}">${website}</a>!
- </body>
- </html>
- 尊敬的用户你好!
- 用户名:${user}
- URL: ${url}
- 网站: ${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)的更多相关文章
- Freemarker 最简单的例子程序
首先导入包,freemarker.jar 下载地址: freemarker-2.3.18.tar.gz http://cdnetworks-kr-1.dl.sourceforge.net/pro ...
- FreeMarker最简单的例子(2)
二.通过String来创建模版对象,并执行插值处理 代码: package com.abc; import freemarker.template.Template; import java.io.O ...
- Struts2的配置和一个简单的例子
Struts2的配置和一个简单的例子 笔记仓库:https://github.com/nnngu/LearningNotes 简介 这篇文章主要讲如何在 IntelliJ IDEA 中使用 Strut ...
- 简单的例子了解自定义ViewGroup(一)
在Android中,控件可以分为ViewGroup控件与View控件.自定义View控件,我之前的文章已经说过.这次我们主要说一下自定义ViewGroup控件.ViewGroup是作为父控件可以包含多 ...
- CSharpGL(1)从最简单的例子开始使用CSharpGL
CSharpGL(1)从最简单的例子开始使用CSharpGL 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立的Demo ...
- 用一个简单的例子来理解python高阶函数
============================ 用一个简单的例子来理解python高阶函数 ============================ 最近在用mailx发送邮件, 写法大致如 ...
- Spring-Context之一:一个简单的例子
很久之前就想系统的学习和掌握Spring框架,但是拖了很久都没有行动.现在趁着在外出差杂事不多,就花时间来由浅入深的研究下Spring框架.Spring框架这几年来已经发展成为一个巨无霸产品.从最初的 ...
- C#调用存储过程简单完整例子
CREATE PROC P_TEST@Name VARCHAR(20),@Rowcount INT OUTPUTASBEGIN SELECT * FROM T_Customer WHERE NAME= ...
- 关于apriori算法的一个简单的例子
apriori算法是关联规则挖掘中很基础也很经典的一个算法,我认为很多教程出现大堆的公式不是很适合一个初学者理解.因此,本文列举一个简单的例子来演示下apriori算法的整个步骤. 下面这个表格是代表 ...
随机推荐
- Python3通过汉字输出拼音
https://github.com/mozillazg/python-pinyin # pip install pypinyin from pypinyin import pinyin, lazy_ ...
- VS Code使用
VS Code使用了有一段时间了,感觉各方面表现蛮好的,当然主要还是基于electron开发的,(有源代码,想改啥就改啥,当然现在也没有改什么,没那么时间,也没有那么多精力),性能不错,其实中间主要还 ...
- sql server2000存储过程sp_password
create procedure sp_password @old sysname = NULL, -- the old (current) password @new sysname, -- the ...
- prerender.io 搜索引擎优化 部署成windows服务 实现开机自动开启服务
一 prerender.io服务端部署 参考官方网站的部署步骤: $ git clone https://github.com/prerender/prerender.git $ cd preren ...
- IO复用之epoll系列
epoll是什么? epoll是Linux内核为处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的 ...
- Java中分拣存储的demo
//Letter.java package yzhou.map; /** * * @author 洋 * */ public class Letter { private String name; ...
- 【我要学python】面对对象编程之继承和多态
class animal(object): def run(): print('animal is running...') class dog(animal): def run(self): pri ...
- B/S架构和C/S架构
一.B/S架构 B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件.这种模式统一了客户端,将系统功能实现的核心部分集 ...
- [BZOJ3167][P4099][HEOI2013]SAO(树形DP)
题目描述 Welcome to SAO ( Strange and Abnormal Online).这是一个 VR MMORPG, 含有 n 个关卡.但是,挑战不同关卡的顺序是一个很大的问题. 有 ...
- BZOJ 1106 [POI2007]立方体大作战tet(树状数组)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1106 [题目大意] 给定玩家一个有2n个元素的栈,元素一个叠一个地放置. 这些元素拥有 ...