FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写
FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序
虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据(如下图)
FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件
FreeMarker与容器无关,因为它并不知道HTTP或Servlet;FreeMarker同样可以应用于非Web应用程序环境
FreeMarker更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库
我们可以使用freemaker制作需要生成的静态页面样式。然后可利用动态绑定数据,将数据绑定到
一个simpleHash中后,使用template.process()生成一张静态页面。或者其他页面的。
然后写到文件系统中。利用这种机制我们就可以轻松的实现模板生成静态页面了。
public static String xmlGenerate(TableDecorator table)throws Exception{
StringWriter writer = new StringWriter();
FreemakerEngine engine = FreemakerEngine.getInstance();
freemarker.template.Template template = engine.getTemplate("hibernate.ftl");
SimpleHash model = new SimpleHash();
model.put("table", table);
template.process(model, writer);
ByteArrayOutputStream os = new ByteArrayOutputStream();
os.write(writer.getBuffer().toString().getBytes());
os.flush();
os.close();
return new String(os.toByteArray());
}
posted on 2007-03-20 11:17
安文豪 阅读(2860)
评论(0) 编辑 收藏