在eclipse中FreeMarker的实际运用案例

海浪刚接触FreeMarker时,只是了解一些简单的FreeMarker的概念及工作原理,至于如何使用FreeMarker还不是非常清楚。随着学习的深入,海浪才渐渐对FreeMarker有了更深入的理解。海浪现在以eclipse开发环境为主,分享一个FreeMarker用例的开发经验。

一、在eclipse中创建FreeMarker模板
FreeMarker中模板的概念就是:包含一些由${…}包围的特殊代码的文件。这些特殊代码是FreeMaker指令。
FreeMarker 模板以ftl后缀命名 如本文所示的:
user.ftl
${user.userName}
${user.userPassword}

二、在eclipse中创建FreeMarker数据模型
FreeMarker数据模型:存在于计算机内存中的一种结构,由开发人员创建,向模板提供信息。
注意:FreeMarker数据模型不是文本文件。FreeMarker的数据模型是树状结构的。
如本文所示的:
User.java
  public class User{
 private userName;
 private userPassword;
 
    …
(省略getter setter方法) 
}
User
对象的树状模型如:
root
  |+-user
    |+-userName=“
张三
    |+-userPassword=“123”   
 
要访问user对象的userName属性,可以通过点操作符号如:user.userName

三、在eclipse中填充FreeMarker数据模型
FreeMarker的根对象使用Map建立的。将创建好的User对象已键-值对得形式封装到Map中如:
 Map<?,?> root=new HashMap<?,?>();
 root.put(“user”,user);

  至此,我们在eclipse中已经完成了大部分的前期准备工作。
FreeMarker工作原理中讲到: 数据+模型=输出,那么我们该如何获得想要的结果呢。
也许你已经想到了,创建FreeMarker的模板引擎,解析模板。步骤如下:
1.
创建和配置Configuration对象,Configuration对象实例负责管理FreeMarker模板的路径加载及模板的创建和缓存。通常应用程序的生命周期中只会创建一个Configuration实例。
Configuration config=new Configuration();
config.setDirectoryForTemplateLoading(new File(“templates”));
config.setObjectWrapper(new DefaultObjectWraaper());

2.获取模板实例,即通过Configuration实例获取Template实例,调用getTemplate()方法。
Template template=config.getTemplate(templateName);

3.合并数据模型和模板
通过调用Template实例的process()方法合并数据模型和模板,方法接受一个数据模型的根和一个writer作为参数,将结果输出到Writer 为简化起见,本例输出到控制台
Writer out=new OutputStreamWriter(System.out);
template.process(root , out);
out.flush();
out.close();
好了,通过上面的讲解,您已经对FreeMarker的应用有了一定的了解。现在开始我们就来创建属于自己的Freemarker用例吧
本例的开发环境: Eclipse3.2+MyEclipse6.0+JDK5.0+FreeMarker
1)
在在eclipse中建立一个web工程:freeMakerTest
2)
下载FreeMaker工具包,解压后,在lib目录下拷贝freemark.jarfreeMakerTest工程下的lib目录中。
3)
eclipse中的src目录下创建如下图所示的目录结构:
具体图可在http://www.po-soft.com/hi/hailang/blog/200查看

templates文件夹存放user.ftl文件。
test/frrmrker/uitl/
文件夹下存放Freemarker模板引擎 FreeMarkertUtil.java
test/client
文件夹下存放客户端测试类 ClientTest.java ,User.java
4)
eclipse中编写user.ftl文件,FreeMarkertUtil.java, ClientTest.java ,User.java

源文件的具体内容可在http://www.po-soft.com/hi/hailang/blog/200找到,下载后可查看。

 

以上就是海浪介绍的《eclipseFreeMarker的实际运用案例》了,海浪希望对开始使用或即将开始使用eclipse展开FreeMarker旅程的朋友有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值