利用freemaker生成静态页面

本文介绍如何利用Freemarker模板引擎生成静态页面,包括其设计原理、应用场景及示例代码。

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

 

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());
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值