0
点赞
收藏
分享

微信扫一扫

FreeMarker 简单的入门例子

吴wuwu 2022-08-09 阅读 100


FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序,关于FreeMarker的更多的介绍,可以访问它的 ​​主页​​​ 或者在百度百科中搜索相关的词条( ​​​点这里​​​ ).
    首先新建一个Java工程,比如FreeMarkerTest,将FreeMarker的jar包添加至工程的构建路径中,然后新建一个文件夹template存放模板文件的,下面是我们的模板的内容,名称为“test.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>

在新建一个Java类,名称为FreeMarkerTest.java:



package test;

import freemarker.template.*;

import java.util.*;

import java.io.*;

public class FreeMarkerTest {

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

/* 创建配置 */

Configuration cfg = new Configuration();

/* 指定模板存放的路径*/

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

cfg.setObjectWrapper(new DefaultObjectWrapper());

/* 从上面指定的模板目录中加载对应的模板文件*/

Template temp = cfg.getTemplate("test.ftl");

/* 创建数据模型 */

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");

/* 将生成的内容打印到控制台中 */

Writer out = new OutputStreamWriter(System.out);

temp.process(root, out);

out.flush();

}

}



  这样就可以了,运行后在控制台可以打印:

<html>

<head>

<title>Welcome!</title>

</head>

<body>

<h1>Welcome Big Joe!</h1>

<p>Our latest product:

<a href="products/greenmouse.html">green mouse</a>!

</body>

</html>

举报

相关推荐

0 条评论