设为首页 收藏本站
查看: 530|回复: 0

[经验分享] oracle PPR Region的实现过程

[复制链接]

尚未签到

发表于 2016-7-27 07:30:46 | 显示全部楼层 |阅读模式
  PPR
概念:PPR是页面上指定的一部分,和页面其他部分不同的是PPR region 是在用户执行了一个相应的action事件后对该部分进行一个动态的刷新,当PPR被激活,UIX发出一个包含有要刷新部分的请求。服务器只对这些重新显示给用户的部分进行刷新,最重要的一点是,PPR不需要你写任何的javaScript代码来完成动态的刷新。
  为什么要建立PPR
为了在刷新页面的时候为了减少页面的刷新时页面的抖动次数。
思路:
通过页面上的item的firePartialAction时间来修改PVO中某个逻辑属性的值,从而改变绑定在该PVO上的该属性的某个Item的rendered属性值。
建立PPR的步骤有那些:
1                     为poplist建立bc4j包
2                     建立PVO,目的是用来为动态改变的item的rendered属性值提供中间变量;
3                     设置要发生动态改变的组件item的rendered属性值和PVO中的某一属性进行关联;
4                     然后设置引起页面发生局部刷新的item的属性;
5                     在CO中扑捉到该事件的触发
6                     在AM实现对PVO的属性值的更改
  图示:
http://www.aideseek.com/wp-content/uploads/2010/11/PPR_thumb.jpg
  下面通过实例来进一步详细上面的每一个步骤
1              建立bc4j包oracle.apps.ak.pprtest.poplist.server(假设AM所在的包名为:oracle.apps.ak.pprtest.server);
2              在该包上通过VO向导建立pprtestPVO,直接跳转到Attribute这一步,点击NEW,新建属性,Name:itemrendered 、Type:boolean;
3              将该PVO引入到AM下面;
4              在页面上添加一个MessageCheckbox组件、一个messageTextInput组件。
5              设置MessageCheckbox组件的ActionType属性为:firePartialAction,Event属性为:HidenTextinput,submit属性为:true、disable server side validation 属性为:true、disable client sidevalidation属性为:true;
6              设置messageTextInput的rerdered属性为${OA. pprtestPVO1. itemrendered }
7              在该页面所在CO中的ProcessFormRequest()方法中加入下面的代码
else if (“HidenTextinput “.equals(pageContext.getParameter(OAWebBeanConstants.EVENT_PARAM)))
{
// The Position poplist PPR change event has fired.
if(pageContext.getParameter(“MessageCheckbox”)!=null)
{
am.invokeMethod(“handlePositionChangeEvent”);
}
}
8              在AM中添加下面的方法: handlePositionChangeEvent{
  OAViewObject pVO = (OAViewObject)findViewObject(“pprtestPVO1″);
OARow poRow = (OARow)pVO.getCurrentRow();
poRow.setAttribute(“itemrendered “,Boolean.FALSE);
}
9              完成,测试页面!
这里说一下fireAction和firePartialAction两类事件之间的区别:
1              经过我个人的测试,发现两种方法最大的区别在于fireAction时间可以导致整个页面的一个刷新,而fireAction适合于触发一个局部刷新的请求。
fireAction事件封装了提交一个Form时所必须的一些信息,包括“事件名称”,“form的参数”以及所有和提交form时相关的验证信息。
2              上面的disable server side validation 和client server side validation 的属性用来设置在提交form时候是否对该form中所有的参数进行验证,比如时候有必输字段的值为空,数字字符类型是否匹配等等的验证,注意的地方是,这里的验证是针对整个form而言的,在设置局部刷新的时候,一般设置该两个属性的值为true。如果着两个属性设置为false的话,如果页面存在其他的必输字段,那么会在客户端报错,导致局部刷新的请求不能被正常提交。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-249886-1-1.html 上篇帖子: oracle 物化视图语法分析【转】 收藏 下篇帖子: ORACLE错误一览表,方便大家查询!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表