Freemarker 最简单的例子程序
import java.io.OutputStreamWriter;
import java.io.StringReader;
import java.util.HashMap;
import java.util.Map;
/**
* Freemarker最简单的例子
*
* @author leizhimin 11-11-17 上午10:32
*/
public class Test2 {
public static void main(String[] args) throws Exception{
//创建一个模版对象
Template t = new Template(null, new StringReader("用户名:${user};URL: ${url};姓名: ${name}"), null);
//创建插值的Map
Map map = new HashMap();
map.put("user", "lavasoft");
map.put("url", "http://www.baidu.com/");
map.put("name", "百度");
//执行插值,并输出到指定的输出流中
t.process(map, new OutputStreamWriter(System.out));
}
}
Process finished with exit code 0
import freemarker.template.Template;
import java.io.File;
import java.io.OutputStreamWriter;
import java.util.HashMap;
import java.util.Map;
/**
* Freemarker最简单的例子
*
* @author leizhimin 11-11-14 下午2:44
*/
public class Test {
private Configuration cfg; //模版配置对象
public void init() throws Exception {
//初始化FreeMarker配置
//创建一个Configuration实例
cfg = new Configuration();
//设置FreeMarker的模版文件夹位置
cfg.setDirectoryForTemplateLoading(new File("G:\\testprojects\\freemarkertest\\src"));
}
public void process() throws Exception {
//构造填充数据的Map
Map map = new HashMap();
map.put("user", "lavasoft");
map.put("url", "http://www.baidu.com/");
map.put("name", "百度");
//创建模版对象
Template t = cfg.getTemplate("test.ftl");
//在模版上执行插值操作,并输出到制定的输出流中
t.process(map, new OutputStreamWriter(System.out));
}
public static void main(String[] args) throws Exception {
Test hf = new Test();
hf.init();
hf.process();
}
}
<head>
<title>Welcome!</title>
</head>
<body>
<h1>Welcome ${user}!</h1>
<p>Our latest product:
<a href="${url}">${name}</a>!
</body>
</html>
尊敬的用户你好:
用户名:${user};
URL: ${url};
姓名: ${name}
<head>
<title>Welcome!</title>
</head>
<body>
<h1>Welcome lavasoft!</h1>
<p>Our latest product:
<a href="http://www.baidu.com/">百度</a>!
</body>
</html>
尊敬的用户你好:
用户名:lavasoft;
URL: http://www.baidu.com/;
姓名: 百度
Process finished with exit code 0
转自:http://lavasoft.blog.51cto.com/62575/716825/
Freemarker 最简单的例子程序的更多相关文章
- FreeMarker最简单的例子(2)
二.通过String来创建模版对象,并执行插值处理 代码: package com.abc; import freemarker.template.Template; import java.io.O ...
- FreeMarker最简单的例子(1)
一.通过文件来创建模版对象,并执行插值操作 文件结构为: Test.Java中的代码为: package com.abc; import freemarker.template.Configurati ...
- CSharpGL(1)从最简单的例子开始使用CSharpGL
CSharpGL(1)从最简单的例子开始使用CSharpGL 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立的Demo ...
- [OSG]OSG例子程序简介
1.example_osganimate一)演示了路径动画的使用(AnimationPath.AnimationPathCallback),路径动画回调可以作用在Camera.CameraView.M ...
- C#编写简单的聊天程序
这是一篇基于Socket进行网络编程的入门文章,我对于网络编程的学习并不够深入,这篇文章是对于自己知识的一个巩固,同时希望能为初学的朋友提供一点参考.文章大体分为四个部分:程序的分析与设计.C#网络编 ...
- Spring-Context之一:一个简单的例子
很久之前就想系统的学习和掌握Spring框架,但是拖了很久都没有行动.现在趁着在外出差杂事不多,就花时间来由浅入深的研究下Spring框架.Spring框架这几年来已经发展成为一个巨无霸产品.从最初的 ...
- 一个简单的flask程序
初始化 所有Flask程序都必须创建一个程序实例. 程序实例是Flask类的对象,经常使用下述代码创建: from flask import Flask app = Flask(__name__) F ...
- Linux系统学习笔记之 1 一个简单的shell程序
不看笔记,长时间不用自己都忘了,还是得经常看看笔记啊. 一个简单的shell程序 shell结构 1.#!指定执行脚本的shell 2.#注释行 3.命令和控制结构 创建shell程序的步骤 第一步: ...
- 为什么C语言在2013年仍然很重要:一个简单的例子
附注:在最初的文章里,我没说明进行模2^64的计算——我当然明白那些不是“正确的”斐波那契数列,其实我不是想分析大数,我只是想探寻编译器产生的代码和计算机体系结构而已. 最近,我一直在开发Dynvm— ...
随机推荐
- MVC断点续传
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mv ...
- Django Meta
Available Meta options abstract 如果为True,这个model就是抽象类 app_label 如果模型是在INSTALLED_APPS中的应用程序之外定义的,它必须声明 ...
- 记一次 Confluence 被攻击事件
故事开始 4 月 14 日,星期天,天气不好,呆在家玩 LOL,正 Happy 的时候同事打电话给我,说 Confluence 看文档的时候挂了,报错:502. 一寻思,不就挂了吗,小意思,重启呗,于 ...
- 十,PHP下载文件
1,文件类型 (1)文本文件,如xx.txt. (2)二进制文件,如图片.视频.音频. 2,文件下载流程如下图所示,首先浏览器向服务器发送下载请求,服务器将下载资源读入内存,再通过http将资源返回到 ...
- shell__常用命令__grep
grep | zgrep (不用解压zip就能直接搜索) -i 不区分大小写 -I 忽略二进制文件 -R或r 递归文件目录 -c 计算找到的总数量 -n 显示行号 -v 显示不包含匹配文本的所有行 - ...
- P1975 [国家集训队]排队 线段树套平衡树维护动态逆序对查询
$ \color{#0066ff}{ 题目描述 }$ 排排坐,吃果果,生果甜嗦嗦,大家笑呵呵.你一个,我一个,大的分给你,小的留给我,吃完果果唱支歌,大家乐和和. 红星幼儿园的小朋友们排起了长长地队伍 ...
- python学习笔记1.4
注释不被程序执行的辅助性说明信息- 单行注释:以#开头,其后内容为注释# 这里是单行注释- 多行注释:以'''开头和结尾''' 这是多行注释第一行这是多行注释第二行 ''' 保留字and elif i ...
- jenkins定时
分别的定义为:分 时 天 月 星期 Minutes within the hour (0–59) HOUR Thehour of the day (0–23) DOM Th ...
- js 的常用方法和对象
每日分享: 加油!你一定可以!你是最牛逼的!!!-------------------------------------------------------------------------- - ...
- kamctl start
尽管没有吃饭,胃酸,九点半,,,还是挺高兴的.只截图不说话. 这个问题弄得我好烦啊.几个小时...网罗了国外几个论坛都没有解.我还没有想到这就不是问题,,,多试多试 再看看moni 也没什么意思,就是 ...