用freemarker生成html小例子

本文介绍了一种根据Java代码生成HTML文件的方法——Freemarker。通过一个小例子展示了如何安装配置Freemarker,并将数据填充到HTML模板中,最终生成静态网页。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

同学接到一个做网站美工的小项目,没有逻辑处理的页面和数据库操作,这样对于我们这种程序研发人员反而还比较棘手。。

 

上网搜了一下有没有偷懒的方法,发现了freemarker。。可以根据java代码生成html文件的好东东。

 

二话不说,下载源代码。freemarker-2.3.16.tar.gz,下了这个最新的版本。解压后,有了需要的jar包-------freemarker.jar。

 

先来看个小例子吧!在源码的examples文件里,找到一个模板文件Test.ftl。拷出来修改其为以下内容:

 

<#macro greet person,website>
   Hello ${person}! Your Website is ${website}.
</#macro> 
  
<html>   
<head>   
<title>Hello World</title>
</head> 
  
<body>   
<@greet person="Sfeve" website="http://sfeve.iteye.com"/>   
</body>   
</html> 

 

 大家随便一看应该就能明白个八九成吧。。。

 

再写个Main函数测试一下!

 

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;

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

public class Test {
	public static void main(String[] args) throws Exception {
		Configuration cfg = new Configuration();
		
		cfg.setDirectoryForTemplateLoading(new File("bin"));  //设置读取模板文件的目录
		
		Template t = cfg.getTemplate("Test.ftl");  //读取文件名为Test.ftl的模板
		
		Map root = new HashMap();  //存储数据
		
		Writer out = new OutputStreamWriter(new FileOutputStream(
				"Test.html"), "GBK");  //输出流
		
		t.process(root, out); //动态加载root中的数据到Test.html。数据在模板中定义好了。
		
		System.out.println("Create successfully!");
	}
}

 

运行,即在当前文件目录下生成了名为Test.html的文件,其代码如下:

 

 

<html>   
<head>   
<title>Hello World</title>
</head> 
  
<body>   
   Hello Sfeve! Your Website is http://sfeve.iteye.com.   
</body>   
</html> 

 

很爽吧,更多精彩功能有待发掘。。。

 

PS:模板文件(这里是Test.ftl)一定要放到测试函数指定的目录里哦!否则会报找不到文件的异常。附件是源码和MyEclipse的freemarker插件。插件的使用方法就不磨叽了~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值