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

posted on 2015-07-02 20:20  东方瀚海  阅读(812)  评论(0编辑  收藏  举报