文档章节

freeMarker入门

meshwon
 meshwon
发布于 2016/07/16 10:49
字数 545
阅读 12
收藏 0

    FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页、电子邮件配置文件源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。

      FreeMarker是免费的,基于Apache许可证2.0版本发布。其模板编写为FreeMarker Template Language(FTL),属于简单、专用的语言。需要准备数据在真实编程语言中来显示,比如数据库查询和业务运算, 之后模板显示已经准备好的数据。在模板中,主要用于如何展现数据, 而在模板之外注意于要展示什么数据。

    freemarker本身与容器无关,无论是在普通java项目中,还是在WEB项目中都可以使用;如下就是一个在java项目中使用Freemarker的例子;在本例中需要先在项目目录下新建一个目录templates,然后在该目录下新建一个模板文件a.ftl。该文件可以加上Html头部等,也可不加。

hello,${name},你今天看起来不错哦!!
${user},你明天想干嘛?

     创建一个java类来读取模板文件,并给该文件提供数据(jar包是必须的);

package com.wanpeng.template;

import java.io.File;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;

import freemarker.template.Configuration;
import freemarker.template.Template;

public class FreeMkTest1 {
	public static void main(String[] args)throws Exception {
		//创建Freemarker的配置实例来加载模板文件
		Configuration cfg = new Configuration();
		//指定模板文件的路径
		cfg.setDirectoryForTemplateLoading(new File("templates"));
		
		//有java代码来生成模板中的数据
		Map<String,Object> map = new HashMap<String,Object>();
		map.put("name", "freemarker");
		map.put("user", "test");
		
		//加载模板文件
		Template t1 = cfg.getTemplate("a.ftl");
		
		//读取模板并输出到指定位置
		Writer out = new OutputStreamWriter(System.out);
		t1.process(map, out);
		out.flush();
		out.close();
	}
}

 

© 著作权归作者所有

共有 人打赏支持
meshwon
粉丝 1
博文 29
码字总数 19085
作品 0
哈尔滨
程序员
私信 提问
FreeMarker在eclipse中的入门例子

今天海浪为大家分享一个FreeMarker在eclipse中的入门例子。 一、在eclipse中创建FreeMarker模板 在FreeMarker中模板的概念就是:包含一些由${…}包围的特殊代码的文件。这些特殊代码是FreeM...

oecp
2011/04/26
0
0
FreeMarker在eclipse中的入门例子

刚接触FreeMarker时,只是简单的了解FreeMarker的一些概念及工作原理,至于如何使用FreeMarker还不是非常清楚。随着学习的深入,才渐渐对FreeMarker有了更深入的理解。本文将从基础应用着手,...

oecp
2011/05/16
0
0
手把手教你新建Jfinal 项目(五)

Freemarker原理解析 2011-05-13 11:19:41| 分类: JavaEE | 标签:freemarker 模板 变量 数据模型 文件 |字号 订阅 FreeMarker生成静态页原理 FreeMarker适合于作为Web应用的表现层。freemar...

胡萝卜炒肉
2014/05/29
0
1
FreeMarker 发布 Google AppEngine 的版本

来自 FreeMarker 在 Twitter 上的消息:FreeMarker 在上个月发布了一个新版本,该版本主要是提供了对 Google AppEngine 平台的支持。 下载 FreeMarker for GAE:freemarker-gae-pre3.jar Fre...

红薯
2010/07/04
2.8K
2
FreeMarker 快速入门

什么是 FreeMarker? FreeMarker 是一款模板引擎:一种基于模板的、用来生成输出文本(任何来自于 HTML格式的文本用来 自动生成源代码)的通用工具。它是为 Java 程序员提供的一个开发包或者说...

点点与麦兜
2016/03/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周三乱弹 —— 风扇写着先生请自爱

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @蚂蚁哈哈哈 :分享陈奕迅的单曲《落花流水》 《落花流水》- 陈奕迅 手机党少年们想听歌,请使劲儿戳(这里) @车谷 :我发现每天上班都好困 ...

小小编辑
今天
50
5
centos7重置密码、单用户模式、救援模式、ls命令、chmod命令

在工作当中如果我们错误的配置了文件使服务器不能正常启动或者忘记密码不能登录系统,如何解决这些问题呢?重装系统是可以实现的,但是往往不能轻易重装系统的,下面用忘记密码作为例子讲解如...

李超小牛子
今天
4
0
Python如何开发桌面应用程序?Python基础教程,第十三讲,图形界面

当使用桌面应用程序的时候,有没有那么一瞬间,想学习一下桌面应用程序开发?行业内专业的桌面应用程序开发一般是C++,C#来做,Java开发的也有,但是比较少。本节课会介绍Python的GUI(图形用...

程序员补给栈
今天
9
0
kafka在的使用

一、基本概念 介绍 Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。 这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统...

狼王黄师傅
今天
3
0
Android JNI总结

0x01 JNI介绍 JNI是Java Native Interface的缩写,JNI不是Android专有的东西,它是从Java继承而来,但是在Android中,JNI的作用和重要性大大增强。 JNI在Android中起着连接Java和C/C++层的作...

天王盖地虎626
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部