OAF_开发系列12_实现OAF开发中URL中的标记和加密参数传递(案例)
20150712 Created By BaoXinjian
一、摘要
1. 标记
当你在声明式的页面定义中指定URL参数时,你可以直接指定文本也可以指定替代值的标记,这些标记在生成时会从控件所关联的VO对象属性中获取值(这也就是说,这些控件必须绑定到一个VO对象上)。
这个经常被使用,比如,表中的一列要把主键值传入到详细页面用于查询。
标记替代示例 - 使用VO对象属性名”OrderNum”
OA.jsp?OAFunc=FWK_TBX_T_PO_PAGE&order={@OrderNum}
2. 标记的类型
标记使用一个特殊的字符前缀来告诉OAF框架如何在运行时决定它的值(注意编码和加密的概念在后面有描述)
(1). {!Attr} –在URL中放置{!}来加密属性值(比如, OA.jsp?...&ssn={!SSN}&...).
使用OAPageContext.getParameter("ssn")返回的是解密后的参数值。
(2). {@Attr} –在URL中放置{@}来对属性值进行编码(比如, OA.jsp?...&addr={@EmpAdd}&...).
使用OAPageContext.getParameter("addr")返回的是解码后的参数值。
(3). {$Attr} –一般的替代标记(无编码或者加密),因此你自己要确认替代值不会打乱URL。
(4). {@@RETURN_TO_MENU} –就完全像演示的一样可以用于指定一个应用组件的Destination URI属性来把用户返回到EBS 个人主页页面上去。
当进行一个JSP跳转时如果你需要指定这个的话,那么这个的相应常量值是OAWebBeanValues.RETURN_TO_MENU_URL。
(5). {@@RETURN_TO_PORTAL} ––就完全像演示的一样可以用于指定一个应用组件的Destination URI属性来把用户返回到一个已运行的门户页面。
当进行一个JSP跳转时如果你需要指定这个的话,那么这个的相应常量值是OAWebBeanValues.RETURN_TO_PORTAL_URL。
二、URL 标记的缺陷
如果要在URL中使用标记的话,那么相应的控件就必须绑定一个VO,且的URL标记中只能使用这个VO中的属性值,
不能使用EL语言,那么R12.2对EL的扩展支持在这里也不能使用,不能获取session, transaction等等中的值。
也不能同时取多个VO中的属性值。
注意:虽然相应的控件就必须绑定一个VO,还好的是OAF不是必须让其绑定一个VO Attribute。
三、运行测试
1
Thanks and Regards
参考: Tavor - http://blog.csdn.net/tavor/article/details/23971889
技术交流,技术讨论,欢迎加入
Technology Blog Created By Oracle ERP - 鲍新建