论坛产品或者博客产品大多都支持多套模板,用户可以进行随意切换来体验各种风格。OSPod.Forum 提供了截然不同的两套用户体验风格,在不同的模板之间需要有一些公用的地方,或者通过扩展其中一套模板或者进行微调之后达到一种新的风格,如基于蓝色模板修改成为黑色比较酷的风格等等?如何保障部分模板之间的复用呢?
freemarker.template.Configuration给我们提供了模板装载机制的修改方案,通过config.setTemplateLoader(TemplateLoaderImp) ,我们可以告诉Freemarker使用哪个模板装载类,OK,这样需要实现我们自己的模板转载类。
OSPod.Forum通过扩展TemplateLoader来提供模板装载机制,该类的基础原型是基于ServletContextTemplateLoader来进行实现,在该类基础上覆盖findTemplateSource方法实现,参考如下:
















































