有什么好(懒)方法能快速将多个WEB业务页面整合成一个页面?

xingmu 发布于 2014/07/01 17:17
阅读 1K+
收藏 0

已经做了几个小模块页面(JFINAL+BEETL),现在领导说要放在首页,不能用IFRAME整合。

这样我就要把几个页面做成一个页面,但是每个页面都会传数据到前台页面,常规做法是再写一个访问路径,在方法里把个页面的业务代码再写一次后传到新的整合页面。

谁有好(懒)方法不用过多写后台业务代码,直接将页面整合成一个页面,类似于view调用controller,希望我的表达能让大家明白。

加载中
1
JFinal
JFinal

简单说几个方法:

1:将页面分切成小块,在主页面中include 这些小页面。将业务全部封装到 Model 或者 Service 中,然后 controller 几乎只做这几件事:getPara、model.method(para)、setAttr(result, ...)、render(...),即便是某个 action 中要调用多个业务得到多个业务的结果,因为大多数代码都封装在 model或 service中,代码量不大

2:将每个模块所需要的数据分别做成拦截器,然后在所需要的 action 上自由组装拦截器组,这种方式最省代码

0
纠结名字
招个小弟,告诉他周末拿给我看。
0
IT小香猪
IT小香猪

引用来自“纠结名字”的评论

招个小弟,告诉他周末拿给我看。
这招太坏
0
sxgkwei
sxgkwei

直接include就可以吧?

0
xingmu
xingmu

引用来自“JFinal”的评论

简单说几个方法:

1:将页面分切成小块,在主页面中include 这些小页面。将业务全部封装到 Model 或者 Service 中,然后 controller 几乎只做这几件事:getPara、model.method(para)、setAttr(result, ...)、render(...),即便是某个 action 中要调用多个业务得到多个业务的结果,因为大多数代码都封装在 model或 service中,代码量不大

2:将每个模块所需要的数据分别做成拦截器,然后在所需要的 action 上自由组装拦截器组,这种方式最省代码

方法1中,service是怎么个写法?大概意思我明白,就是把获取数据的方法写在model中。

方法2中,拦截器是否会比方法1速度慢一些?

0
玛雅牛
玛雅牛
@JFinal所说的方案属于推的方式,主要是在服务器端进行合并所需的数据,view层也需要合并相关代码。还有一种方式,可以叫做拉的方式:每种业务的服务端仅返回一段代码片段,view层定义一种异步加载机制,比如使用data-attr属性,每个模块指定一个url一些参数,先从服务器端一个页面,该页面中包含多个模块,每个模块可以根据data-attr属性异步从服务器端 拉取数据(代码片段),并用该数据进行填充,这样就可以在view层复用模块了。这仅是我的一个思路,没有实践过。CMS类似的项目采用此思路比较合适。
0
xingmu
xingmu

引用来自“玛雅牛”的评论

@JFinal所说的方案属于推的方式,主要是在服务器端进行合并所需的数据,view层也需要合并相关代码。还有一种方式,可以叫做拉的方式:每种业务的服务端仅返回一段代码片段,view层定义一种异步加载机制,比如使用data-attr属性,每个模块指定一个url一些参数,先从服务器端一个页面,该页面中包含多个模块,每个模块可以根据data-attr属性异步从服务器端 拉取数据(代码片段),并用该数据进行填充,这样就可以在view层复用模块了。这仅是我的一个思路,没有实践过。CMS类似的项目采用此思路比较合适。

企业内部的系统,买了某国际大公司的PORTAL,要求页面都做成PORTAL的,我偷懒,让人管理员给我开了一个IFRAME,但是页面较多,所以我只能把各系统的东西整合到一个页面。

能给个示例代码不,对WEB开发只懂个皮毛,或者告诉我搜索哪方面的内容也行,抄抄还是可以得,哈哈。

0
XuMeijin
XuMeijin
你在等啊等,找啊找,试到明天还不一定有完美的方案,不过,你马上开始重新做这个页面,或许晚上几个小时就做好了
0
xingmu
xingmu

引用来自“XuMeijin”的评论

你在等啊等,找啊找,试到明天还不一定有完美的方案,不过,你马上开始重新做这个页面,或许晚上几个小时就做好了
我已经按照波总的方法写程序整合了,我现在只是想了解下这方面的东西,因为很多业务系统已经不符合新的需求,但是功能模块还需要,为了快速整合前端页面做准备。
返回顶部
顶部