FreeMarker 基本配置(一)

freemarker 版本

官网下载地址 http://freemarker.org/freemarkerdownload.html

当前测试所用版本为:freemarker-2.3.23

文件结构

FreeMarker 基本配置(一)_第1张图片

1. 模板文件:test02.ftl

<html>
<head>
  <title>Welcome!title>
head>
<body>
  <h1>Welcome ${user}!h1>
  <p>Our latest product:
  <a href="${latestProduct.url}">${latestProduct.name}a>!
body>
html>

2. Java 测试类文件:Test.java

package com.freemarker.test02.base;

import freemarker.template.*;
import java.util.*;
import java.io.*;

public class Test {

    public static void main(String[] args) throws Exception {

        // 创建 Freemarker 配置实例
        Configuration cfg = new Configuration(Configuration.VERSION_2_3_23);
        // 指定模板文件从何处加载的数据源,这里设置成一个文件目录。
        cfg.setDirectoryForTemplateLoading(new File("templates"));
        cfg.setDefaultEncoding("UTF-8");
        // 简单地重新抛出异常; 这应该在大多数生产系统中使用。
        cfg.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER);

        // 创建一个数据模型
        Map root = new HashMap();
        root.put("user", "Big Joe");
        Map latest = new HashMap();
        root.put("latestProduct", latest);
        latest.put("url", "products/greenmouse.html");
        latest.put("name", "green mouse");

        // 获取模板(使用内部缓存)
        Template temp = cfg.getTemplate("test02.ftl");

        // 合并数据模型模板
        Writer out = new OutputStreamWriter(System.out);
        temp.process(root, out);
        out.flush();
        out.close();
        // 注意: ------------
        // 为了简单起见,这里压制了异常(在方法签名中声明了异常,译者注),而在正式运行的产品中不要这样做。
    }
}

运行结果

<html>
<head>
  <title>Welcome!title>
head>
<body>
  <h1>Welcome Big Joe!h1>
  <p>Our latest product:
  <a href="products/greenmouse.html">green mousea>!
body>
html>

你可能感兴趣的:(freemarker)