[发明专利]基于复合组件的请求处理方法及系统有效
申请号: | 201110121395.7 | 申请日: | 2011-05-11 |
公开(公告)号: | CN102779032A | 公开(公告)日: | 2012-11-14 |
发明(设计)人: | 李斌 | 申请(专利权)人: | 深圳市金蝶中间件有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 何平 |
地址: | 518057 广东省深圳市南山区高*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 复合 组件 请求 处理 方法 系统 | ||
【技术领域】
本发明涉及计算机应用技术,特别是涉及一种基于复合组件的请求处理方法及系统。
【背景技术】
在使用JSF(Java Server Faces)开发的Web应用中,常常通过使用复合组件来提高代码的可重用性。然而,在实际的使用过程中,一个复合组件在同一个页面里经常需要使用多次。例如,在一个页面中有多张照片,每张照片下方都设置了一个打分复合组件,浏览照片的用户使用打分复合组件对每张照片打分。当用户激活任一打分复合组件进行打分时,后台通过调用相应的方法,如托管Bean(managed-bean)来改变页面中打分复合组件的显示样式,使打分复合组件由原来的0颗星变为3颗星。
但是,由于页面中的所有打分复合组件都绑定到了同一个托管bean,使得托管bean在对激活的打分复合组件产生响应改变其显示样式时,产生了多个打分复合组件使用同一个托管bean时互相干扰的情况,页面上所有的打分复合组件都显示为3颗星,所有的打分组件都会变成一样的,全部是显示为3颗星。
【发明内容】
基于此,有必要提供一种可避免页面中多个复合组件互相干扰的基于复合组件的请求处理方法。
此外,还有必要提供一个可避免页面中多个复合组件互相干扰的基于复合组件的请求处理系统。
一种基于复合组件的请求处理方法,包括以下步骤:
接收页面请求;
遍历页面中的组件,并判断所述页面中的组件是否为复合组件,若是,则
遍历所述复合组件中的子组件;
将子组件的属性值与复合组件的属性值相关联得到命名空间值;
获取与子组件所处生命周期阶段对应的调用方法;
根据所述页面请求以及命名空间值执行调用方法。
优选地,当所述页面中的组件为复合组件时,所述方法还包括:
获取所述复合组件的属性值,并设置于请求作用域中;
将子组件的属性值与复合组件的属性值相关联得到命名空间值的步骤为:
获取所述子组件的属性值,将所述子组件的属性值设置于请求作用域中,与复合组件的属性值相关联得到命名空间值。
优选地,还包括:
根据所述子组件的命名空间值返回调用方法的执行结果。
优选地,还包括:
当复合组件中的子组件遍历完毕时,删除所述请求作用域中复合组件的属性值。
优选地,还包括:
当页面中的组件遍历完毕后判断生命周期的阶段是否运行完毕,若是,则返回执行结果,若否,则返回遍历页面中的组件的步骤。
一种基于复合组件的请求处理系统,至少包括:
接收模块,用于接收页面请求;
遍历模块,用于遍历页面中的组件;
判断模块,用于判断页面中的组件是否为复合组件,若是,则通知所述遍历模块;
所述遍历模块还用于遍历所述复合组件中的子组件;
处理模块,用于将子组件的属性值与复合组件的属性值相关联得到命名空间值,并获取与子组件所处生命周期阶段对应的调用方法;
执行模块,用于根据所述页面请求以及命名空间值执行调用方法。
优选地,所述处理模块包括:
获取单元,用于获取复合组件的属性值、子组件的属性值以及与子组件生命周期阶段对应的调用方法;
属性值设置单元,用于将复合组件的属性值以及子组件的属性值设置于请求使用域中,并将所述复合组件的属性值以及子组件的属性值相关联得到命名空间值。
优选地,所述执行模块还用于根据所述子组件的命名空间值返回调用方法的执行结果。
优选地,当复合组件中的子组件遍历完毕时,所述属性值设置单元还用于删除所述请求使用域中复合组件的属性值。
优选地,当页面中的组件遍历完毕后,所述判断模块判断生命周期的阶段是否运行完毕,若是,则返回执行结果,若否,则继续遍历页面中的组件。
上述基于复合组件的请求处理方法及系统,将复合组件的属性值与子组件的属性值相关联得到命名空间值,并根据命名空间值进行了调用方法的执行,极大地避免了同一页面中多个复合组件互相干扰的状况发生,在命名空间值的作用下,执行了调用方法后仅对与该命名空间值对应的复合组件进行响应,在提高代码复用率、降低开发成本的同时保证了复合组件之间的抗干扰性,也有效地降低了浏览器的资源消耗。
【附图说明】
图1为一个实施例中基于复合组件的请求处理方法的流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市金蝶中间件有限公司,未经深圳市金蝶中间件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110121395.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:摩托车大灯的支架结构
- 下一篇:汽车前悬地板横梁支架