EBS OAF开发中实现參数式弹出窗体
EBS OAF开发中实现參数式弹出窗体
(版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处;否则请与本人联系,违者必究)
概览
參数式弹出窗体和嵌入式弹出窗体不一样,它拥有独立的区域,并不嵌入到使用页面中,它里面的内容依据须要来获取和生成,它拥有自己的AM和页面状态,对popup页面事件的处理也不一样。两种弹出式窗体都仅仅在以下四种组件所支持,既不能改变大小也不可移动。
1. Text(messageStyledText)
2. Image
3. Link
4. Button
实现參数式弹出窗体的步骤
1. 创建一个独立的RN其会做为參数式弹出窗体,里面放置你须要的控件.
2. 在Jdev结构面板上,在要显示參数式弹出窗体的页面上,选择包括要展示弹出式窗体的控件的区域。
3. 创建一个新的区域,并设置它的类型为popUp.
4. 为上面的popUp区域,设置合理的属性值,比方,ID,Title,Region(第一步中的RN),Type(嵌入式还是參数式),Width, Height, Parameters, Modal Enabled(是不是模态窗体,是的话,用户不能和基础页面打交道)。
5. 在Jdev的结构面板中,选择要弹出窗体的控件(仅仅能为messageStyledText, image, link, 或者 button)并设置以下属性PopupId(Popup控件的ID),PopupRenderEvent(什么事件弹出窗体,比方onClick或者onHover,默认值是onClick),PopupEnabled(是否启用popup,默认值是false),ReadOnly(弹出式窗体是不是仅仅读,假设是的话,但鼠标不在弹出窗体时,弹出窗体会关闭,默认值是false).
实现演示样例
1. 建立參数式弹出式窗体的RN,例如以下,指明AM,及各个控件绑定的VO属性,对应的AM,VO及CO的建立过程和普通一样,略过不提。
2. 建立要使用的页面的PG,AM,VO,CO等等,这里略过不提。
3. 在基础页面上表中加入一个flowLayout或者其它的都能够,用于作为popup控件的容器,由于popup不能直接放到表里面,然后为其加入popup控件,并设置其属性例如以下,这里要注意的是Parameters属性,由于參数式弹出窗体有自己的AM,这是和基础页面交互的主要方式,且其不能够使用EL(Expression Language,12.2之前叫做SPEL(SimplestPossible Expression Language),能够參考文章<<EBS OAF 12.2开发中对EL(ExpressionLanguage)的支持>>,http://blog.csdn.net/tavor/article/details/19645421),而是要使用我在<<EBS OAF 开发中 URL中的标记、加密和编码>>介绍的标记(TOKEN), http://blog.csdn.net/tavor/article/details/23971889
4. 加入一个链接控件在table以下,它的属性设置例如以下,里面指定的Popup Id为上面第三步中的Popup的ID。
5. 在popup的AM中加入以下的方法,用于依据ID初始化,这里写了最简单的逻辑
6. 在Popup 的CO加入以下的来依据基础页面传入的參数来调用AM的方法以便初始化VO。
7. 执行的效果例如以下,点击链接之后将显示对应manager的信息。