posts - 30,  comments - 85,  trackbacks - 0

 

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 安文豪 阅读(2856) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航:
 

<2007年3月>
25262728123
45678910
11121314151617
18192021222324
25262728293031
1234567

常用链接

留言簿(6)

随笔档案(28)

文章分类(3)

文章档案(4)

最新随笔

搜索

  •  

积分与排名

  • 积分 - 85953
  • 排名 - 663

最新评论

阅读排行榜

评论排行榜