优秀的编程知识分享平台

网站首页 > 技术文章 正文

freemark学习(一):hello freemark

nanyue 2024-08-01 22:50:57 技术文章 8 ℃

一:

freemark百科:

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

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

二:开发准备

2.1:使用到的jar包

2.2:开发步骤:

1):创建配置对象实例

2):给对象实例设置模板位置

3):准备数据

4):加载模板文件

5):显示生成的文件

三:code编写

创建普通的java项目。不是web项目。结构如下:

结构说明:

|--Demo1.java是java类

|--referencedLibrar是引入的jar包

|--templates是存放模板d位置

|--a.tfl是模板文件

Demo1.java如下:

package com.kaigejava.freemark;

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;

publicclass Demo1 {

publicstaticvoid main(String[] args) throws Exception {

//创建配置实例

Configuration cfg = new Configuration();

//设置模板目录

cfg.setDirectoryForTemplateLoading(new File("templates"));

//创建数据模型

Map<String,Object> root = new HashMap<String, Object>();

root.put("name", "hello freemarker");

//加载模板文件

Template template = cfg.getTemplate("a.ftl");

//显示生成d数据,并将数据打印到控制台上

Writer out = new OutputStreamWriter(System.out);

template.process(root, out);

out.flush();

out.close();

}

}

a.ftl如下:



运行结果如下:

至此第一个freemark项目已创建成功

Tags:

最近发表
标签列表