FreeMarker简单使用及介绍

首先简单介绍下FreeMarker

FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写。
FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序
虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据。
如下图:
这里写图片描述

FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件。
FreeMarker与容器无关,因为它并不知道HTTP或Servlet;FreeMarker同样可以应用于非Web应用程序环境。
FreeMarker更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库

FreeMarker能够生成各种文本:HTML、XML、RTF、Java源代码等等
易于嵌入到你的产品中:轻量级;不需要Servlet环境
插件式模板载入器:可以从任何源载入模板,如本地文件、数据库等等。

下面直接来写代码吧
1, 首先需要引入 freemarker.jar 包文件 [ 点击下载]

2, 在项目中创建一个目录存放FreeMarker模板文件
( 如: 我这里在项目下 创建一个名为 templates 的目录)

3,在templates目录下,建立 fmdemo.ftl 模板文件,内容如下:
(如下的 ${user} 就是动态加载的变量)

你好啊,${user},今天你的精神不错!

4,下面写个java类,内容在控制台输出,内容如下:

package demo;

import java.io.File;
import java.io.OutputStreamWriter;
import java.io.StringWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;
import freemarker.template.Configuration;
import freemarker.template.Template;

/**
 * @author ZhouMengShun
 */
public class FreeMarkerDemo {

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

        //创建FreeMarker配置实例
        Configuration cfg = new Configuration();

        //如下templates是 freemarker模板存放的目录,这里写的是相对路径
        cfg.setDirectoryForTemplateLoading(new File("templates")); 

        Map root = new HashMap<>();//创建数据模型
        root.put("user", "周梦顺"); //设置user的值

        //加载模板文件 fmdemo.ftl
        Template t1 = cfg.getTemplate("fmdemo.ftl");

        //显示生成的数据,将合并后的数据打印到控制台
        Writer out = new OutputStreamWriter(System.out); 
        t1.process(root, out);
        out.flush();

        //显示生成的数据,将合并后的数据直接返回成字符串!
        /* StringWriter out2 = new StringWriter();   
        t1.process(root, out);
        out2.flush();
        String temp = out2.toString();
        System.out.println(temp);*/ 

    }

}

如下是我的项目结构图

这里写图片描述

下面我将结果贴出来
这里写图片描述

如上图,模板中的${user} 已被替换成了实际的值,
通过这个案例我们可以联想到,如果将这个写成一个html模板,然后写入页面中。
要明白的是FreeMarker能够生成各种文本:HTML、XML、RTF、Java源代码等等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值