文档章节

freeMarker入门

meshwon
 meshwon
发布于 2016/07/16 10:49
字数 545
阅读 11
收藏 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 快速入门

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

点点与麦兜
2016/03/16
0
0
freemarker语法介绍及其入门

FreeMarker标签使用 一、FreeMarker模板文件主要有4个部分组成 1、文本,直接输出的部分 2、注释,即<#--...-->格式不会输出 3、插值(Interpolation):即${..}或者#{..}格式的部分,将使用数...

wersdffg
2014/09/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java二分查找代码案例

public static int binarySearch(Integer[] srcArray, int des) { //定义初始最小、最大索引 int low = 0; int high = srcArray.length - 1; //确保不会出现重复查找,越界 while (low <= hi......

绝地逢生
19分钟前
2
0
在JAVA中线程到底起到什么作用!

这是javaeye上非常经典的关于线程的帖子,写的非常通俗易懂的,适合任何读计算机的同学. 线程同步 我们可以在计算机上运行各种计算机软件程序。每一个运行的程序可能包括多个独立运行的线程(...

xtof
31分钟前
1
0
纹理与表面细节添加方法---帧映射

中国龙-扬科
48分钟前
0
0
vue学习:9、模块工具包收集

vue常用包收集 npm i webpack@3.6.0 -s 样式支持包 npm i css-loader -s npm i style-loader -s 图片支持 npm i url-loader file-loader -s 利用less操作图片 npm i less -s npm i less-loa......

轻轻的往前走
49分钟前
1
0
20181115上课截图

小丑鱼00
59分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部