首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

FreeMarker在java项目中的运用

2012-12-28 
FreeMarker在java项目中的应用一、体验FreeMarkerFreeMarker是一个非常优秀的模板引擎,它能以非常简单的方

FreeMarker在java项目中的应用

一、体验FreeMarker
FreeMarker是一个非常优秀的模板引擎,它能以非常简单的方式来输出数据显示。FreeMarker负责将一个数据模型(通常是一个Map对象)中的数据合并到模板中,从而生成输出。从而可以极好地分离显示逻辑和数据逻辑的设计,允许界面设计者更专注于显示逻辑的设计,而程序员则专注于提供逻辑数据。

二、FreeMarker在java项目中的应用示例

1、從官網下载FreeMarker所依赖的jar包 [http://www.freemarker.org]

???? 目录:
??? docs:包含FreeMarker的相关文档,用法和API文档
??? examples:FreeMarker的各种demo
??? lib:FreeMarker核心类库
??? src:各种源文件

?

2、將jar包導入到classpath中;

?

3、在Java程序中使用FreeMarker;

??? 模板文件:? myFreemarker.ftl

??? 文件內容:
??? <#-- 简单的FreeMarker模板 -->
??? ${name},你好!${msg}

??? 在項目中新建一個文件夾:templates,將模板文件放進去;

?

4、Java文件

package com.freenarker;import java.io.File;import java.io.OutputStreamWriter;import java.util.HashMap;import java.util.Map;import freemarker.template.Configuration;import freemarker.template.Template;/** * @ClassName: FreemarkTest  * @Description: 模板處理類 * @author Liyongbin * @date 2011-2-15 下午08:40:18  * @version V1.0 */public class FreeMarkerTest {// 负责管理FreeMarker模板文件的Configuration实例private Configuration cfg;// 负责初始化Configuration实例private void init() throws Exception {// 初始化FreeMarker配置,創建一個Configuration實例cfg = new Configuration();// 设置模板文件位置cfg.setDirectoryForTemplateLoading(new File("templates"));}// 负责合并的方法private void process() throws Exception {Map<String,String> root = new HashMap<String,String>();root.put("name", "FreeMarker!");root.put("msg", "first FreeMarker demo");// 使用Configuration实例来加载指定模板Template t = cfg.getTemplate("myFreemarker.ftl");// 处理合并t.process(root, new OutputStreamWriter(System.out));}public static void main(String[] args) throws Exception {FreeMarkerTest ft = new FreeMarkerTest();ft.init();ft.process();}}

?5. 運行結果:

??? FreeMarker!,你好,first FreeMarker demo

热点排行