Struts2+Freemarker 兑现Django模板继承功能
Struts2+Freemarker 实现Django模板继承功能最近在学习Django,对它的模板继承功能爱不释手,相比以前的使用
Struts2+Freemarker 实现Django模板继承功能
最近在学习Django,对它的模板继承功能爱不释手,相比以前的使用过的Sitemesh来说,其功能、灵活性、易用性、复用性都比sitemesh高出一大截。
于是结合struts2+Freemarker做过的项目进行思考,原来用struts2+Freemarker也可以轻松做到Django模板的功能,几天试用下来,那不是一般的爽,sitemesh暂时放一边去吧。
以一个例子来说明
1. 首先定义模板,假设路径为: /webapps/exam/base.ftl, 定义基本布局
<#include "/exam/simple.ftl"/><#macro images><p><img src='http://img2.cache.netease.com/cnews/2008/11/17/20081117095448372ff.jpg'/></p></#macro>
现在来看看,很好,已经在原来的页面上加上了图片。
这个例子非常简单,只是为了说明如何实现模板继承,应用场景应该很多。项目中正在用,感觉很方便。
1 楼 ray_linn 2008-11-18 这个不叫继承吧?? 顶多叫聚合, freemarker的弱点也很明显,不直观,非到运行时才可看到效果。 2 楼 jamesqiu 2009-06-25 FreeMarker, 很好很强大 3 楼 ylkiller 2009-06-26 没怎么用过FREEMARKER,有个问题,如果你的2个相同的元素,比如出现2个IMAGE,父页面怎么区分啊?直接连续输出2个?我要在不同位置输出这2个图片怎么处理呢? 4 楼 greatghoul 2012-05-18 果然很方便哪。