首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

关于页面动态格局实现方案(三)

2013-08-27 
关于页面动态布局实现方案(三)页面ID布局ID布局开始模板布局结束模板布局序号100001100001100001100001布

关于页面动态布局实现方案(三)
页面ID布局ID布局开始模板布局结束模板布局序号100001100001100001100001布局ID模块ID模块对应的模板模块序号100001100001<#list layoutList as layout> <#include layout.布局开始模板 /><#/list>

?

这样就动态引入的所有布局,然后在每种布局对应的ftl模板页面可以这么写

FreeMarker的强大之处在于:在通过include引入的子页面,仍然可以使用父页面的变量,比如此处的? layout

<#-- 此处的layout是引用父页面的变量 --><#list layout.moduleList as module>   <#include module.模块对应的模板 /></#list><#-- 不要忘了把模板的结束标签加进来 --><#include layout.布局结束模板 />

?通过这种方式,就能把用户定制的页面加载出来,处理起来很方便,不需要开发人员做过多的判断!

但是:这种情况下,仅仅是把布局、模块“长什么样子”加载出来了,每个模块对应的业务内容还没出来呢!!!

比如 公告资讯模块,用户添加了两个,而这两个模块对应的ftl模板文件肯定是同“一个”!

既然是“一个”模板文件,自然只适合输出一个模块的内容,那“同一种模块”,添加多个的情况下,就不好输出了!!!

?

针对这种情况,如果不想把数据和模板绑定到一起,那就在页面加载完之后,使用 ajax 的方式,去请求每个模块对应的业务内容

当然你也可以实现FreeMarker的TemplateModel接口,针对每种模块,定制一个方法,只要传入模块ID:根据模块ID去查询对应的业务内容即可

?

?

?

?

?

?

?

?

?

?

热点排行