Freemarker的初探,有小案例

最近才听说这个freemarker的模板引擎。说是要比jsp好很多。于是上网查了一下,下面摘抄一下大神的总结:

  1. 不编译成class文件,不占用jvm内存。
  2. 直接加载,freemarker借助于一个模板文件,然后解析后输出到浏览器。效率更高。(与1道理差不多)
  3. 运行时嵌入模板(目前没有体会)
  4. 支持jsp标签,那套强大的标签现在可以拿来用了。不过指令变了
  5. 空值检测处理写法简单
  6. 有共享变量
  7. 支持json
  8. 不止可以用于web,普通项目也可以用,换句话说不止为了输出html。

一个简单实例来说明

Freemarker的初探,有小案例

没有任何框架时,纯servlet这样使用。目的也很明确,就是要输出模板。模板路径在init中的configre中设置,为当前目录下面的html目录。名字是template.html,并且传过去一个user的key,在页面上使用${user}
即可获取到。例如getTemplate等方法其实都是固定的。然后最终是process。看案例应该也可以理解的。

基于ssm框架

ssm框架会搭建的同学都会明白,springmvc配置文件中会有一个viewreslover的bean,现在我们不采用那个,我们换成freemarker的。配置如下:

Freemarker的初探,有小案例

我们写一个测试的controller

Freemarker的初探,有小案例

Freemarker的初探,有小案例

以上就是我的个人总结,有不足的地方请大神指出,共同学习,谢谢啦~