利用freemarker生成静态文件

原创 2016年05月31日 12:53:49

最近在做mock数据的工作中,里面涉及到给用户返回json文件,但是json文件里面的内容太多,如果完全通过java代码来写,这里面会导致java代码会非常臃肿,所以这里面采用了利用freemarker来编写模板文件,通过java填充里面需要的数据,这里写了一个简单的例子,怎么通过freemarker来生成静态文件,由于我需要生成的文件是个临时文件,不过道理跟下面要说的生成静态文件是一样的。

直接上代码,编写java文件,用来指明文件模板和数据,

package com.neteae.web.test;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;

import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;

public class Freemarker {
	public static void main(String args[]){
		Map<String,String> data = new HashMap<String,String>();
		data.put("username", "小谢");//准备数据
		Configuration cfg =  new Configuration();//Configuration读取模板文件
		try {
			cfg.setDirectoryForTemplateLoading(new File("WebContent/WEB-INF/ftl/test"));//制定模板文件的目录
		    Template template = cfg.getTemplate("freemarker.ftl");//Template模板
		    Writer writer = new FileWriter(new File("freemarker.html"));//产生的文件
		   	template.process(data, writer);//将模板和数据产生
		   	writer.flush();//将数据从缓存中清空;
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
准备模板文件
<html>
<head>
<title>测试下freemarker模板</title>
</head>

<body>
${username} 
</body>

</html>
利用freemarker来生成静态文件,一是需要模板,二是需要数据,上面已经都编写好了,下面运行下看下结果,刷新工程目录;

打开freemarker.html文件,可以看到模板里面的数据已经被替换成java文件中设置的数据了。


版权声明:本文为博主原创文章,未经博主允许不得转载。

java 生成静态页面——Freemarker实例教程

目录(?)[-] 一Freemarker的介绍二Freemarker的准备条件三Freemarker生成静态页面的原理四Freemarker提供的标签五Freemarker自定义标签 ...
  • wangliqiang1014
  • wangliqiang1014
  • 2014年02月27日 14:16
  • 29890

使用FreeMarker生成Html静态文件

要生成静态页面,在网上找的,稍微修改了一下,还不错,呵呵。 FreeMarker这个东西还算是可以的,我觉得还是比JSP要清晰一些。 引用 import java.io.*; import...
  • sz_bdqn
  • sz_bdqn
  • 2013年09月08日 13:08
  • 4385

SpringMVC + FreeMarker 页面静态化

第一步:在web.xml中将/请求交给SpringMVC dispatcher org.springframework.web.servlet.DispatcherServlet c...
  • MakeMerry
  • MakeMerry
  • 2013年06月25日 16:18
  • 1882

使用FreeMarker生成Html静态文件(实例)

首先感谢JScud提供的好文章。《使用FreeMarker生成Html静态文件(实例)》      在我们的项目中也用到了Freemarker生成静态文件。不过这里我要说的是编码的问题。我们的项目使用...
  • luobo525
  • luobo525
  • 2006年12月29日 13:04
  • 1379

SpringMVC+Freemarker生成静态页面

SpringMVC+Freemarker生成静态页面
  • candy_rainbow
  • candy_rainbow
  • 2017年07月03日 17:47
  • 1750

Spring Boot使用freemarker并且生成静态html页面

Spring Boot使用freemarker并且生成静态html页面之前我介绍了在spring boot中使用thymeleaf模板,这次我会给大家介绍在spring boot中使用freemark...
  • tyyytcj
  • tyyytcj
  • 2017年11月05日 21:47
  • 1342

freemarker 生成静态文件

生成静态文件的类: // 加载模版目录,FreeMarker支持多种模板装载方式,可以查看API文档,都很简单:路径,根据Servlet上下文,classpath等等 freemarkerCfg...
  • veeasy
  • veeasy
  • 2012年10月24日 10:54
  • 1269

springMVC freemarker实现页面静态化

最近在学习freemarker,这个模板技术已经很成熟,文档也很多。我研究了下利用它来实现页面静态化,静态化的好处你懂的,好了贴一下主要的代码。 首先是web.xml。 ...
  • wxhlqcl2010
  • wxhlqcl2010
  • 2015年02月05日 21:06
  • 4161

Freemarker实现网页静态化

网页的静态化方案 输出文件的名称:商品id+“.html” 输出文件的路径:工程外部的任意目录。 网页访问:使用nginx访问网页。在此方案下tomcat只有一个作用就是生成静态页面。 工程部...
  • qq_21683643
  • qq_21683643
  • 2017年09月22日 20:08
  • 467

利用FreeMarker生成java源代码

一 FreeMarker简介Apache FreeMarker是一个Java模板引擎库,官网:http://freemarker.incubator.apache.org/。 Apache Fre...
  • FX_SKY
  • FX_SKY
  • 2015年12月22日 16:31
  • 5940
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用freemarker生成静态文件
举报原因:
原因补充:

(最多只允许输入30个字)