EBS OAF 发展 URL商标、加密和编码

(版权声明。我原来的或翻译的文章,如需转载,转载的个人学习,转载请注明出处;否则,请与我联系。版权所有)

马克

当您指定页面定义声明URL参数,文本也能够指定替代值的标记,这些标记在生成时会从控件所关联的VO对象属性中获取值(这也就是说。这些控件必须绑定到一个VO对象上)。

这个常常被使用,比方。表中的一列要把主键值传入到具体页面用于查询。

标记替代演示样例(使用VO对象属性名”OrderNum”):

OA.jsp?OAFunc=FWK_TBX_T_PO_PAGE&order={@OrderNum}

标记的类型

标记使用一个特殊的字符前缀来告诉OAF框架怎样在执行时决定它的值(注意编码和加密的概念在后面有描写叙述)

l  {!Attr} –在URL中放置{!}来加密属性值(比方,

 OA.jsp?...&ssn={!SSN}&...

).

使用OAPageContext.getParameter("ssn")返回的是解密后的參数值。

l  {@Attr} –在URL中放置{@}来对属性值进行编码(比方, OA.jsp?...&addr={@EmpAdd}&...).

使用OAPageContext.getParameter("addr")返回的是解码后的參数值。

l  {$Attr} –一般的替代标记(无编码或者加密),因此你自己要确认替代值不会打乱URL。

l  {@@RETURN_TO_MENU} –就全然像演示的一样能够用于指定一个应用组件的Destination URI属性来把用户返回到EBS 个人主页页面上去。当进行一个JSP跳转时假设你须要指定这个的话,那么这个的对应常量值是OAWebBeanValues.RETURN_TO_MENU_URL。

l  {@@RETURN_TO_PORTAL} ––就全然像演示的一样能够用于指定一个应用组件的Destination URI属性来把用户返回到一个已执行的门户页面。当进行一个JSP跳转时假设你须要指定这个的话,那么这个的对应常量值是OAWebBeanValues.RETURN_TO_PORTAL_URL。

编码

你为请求參数指定的全部值都必须遵守HTTP语法规则.比方,你不能传递一个包括空格的URL參数值;以下的參数值会引起一个执行时错误当对应的URL被訪问到时: buyerName=John Doe.

要解决问题,我们须要对这些值进行编码,这意味着,编码方法会使用标准的替代值来取代有问题的字符,就像以下的演示样例演示的: buyerName=John%20Doe.

l  当OAF框架加入參数到请求中时(比方,form字段值),它会自己主动对其编码。

l  当你在调用setForward*方法过程中把參数放入请求时,OAF框架也会自己主动对这些值进行编码.

l  当你往你自己组装的URL中放置參数时(假设。比方。你通过调用setDestination方法来为一个bean设置URL),你必须为全部可能包括无效字符的字符串部分进行编码.要这么做的话,你须要传递这个字符串到oracle.apps.fnd.framework.webui.OAUrl工具类的encode方法中.

小技巧:假设你手工设置一个不会包括无效字符的URL參数值(比方,”value=Y”),那么你不须要为编码这一步所费心。

l  当你使用OAPageContext.putParameter把值放到请求中时,假设须要的话你必须对这个字符串进行编码。

当你调用OAPageContext.getParameter*方法时。OAF框架会自己主动对參数值进行解码。除了以下几种情况:

l  当你为Javascript方法标记使用”#”字符时。OAF框架编码标记值,可是当你调用pageContext.getParameter("<tokenName>")时,它不会自己主动对其解码.你自己要解码时,你须要对getParameter返回的值使用OAUrl decode方法。

l  当你调用putParameter方法放入一个编码的值时,OAF框架不会对其解码。在这样的情况下。你也必须对getParameter返回的值使用OAUrl decode方法。

加密

加密是让数据模糊混乱而使其难以辨认的过程。由于URL请求參数值对用户来说可能是可见的(隐藏的form字段值也是一样的,假设用户去查看HTML页面源码)。一般假设你在URL參数或者一个异常字段上放置了敏感数据。那么你应该对其加密。

除了声明式的,上面描写叙述的基于标记的加密,OAF也在oracle.apps.fnd.framework.webui.OAPageContext中提供了方法用于手工加密和解密不论什么你编程放入到请求中的參数值。

注意:关于URL和请求參数的很多其它信息,能够參考Oracle Application Framework URL and Request Parameters

URL 标记的缺陷

就像上面的描写叙述的,假设要在URL中使用标记的话。那么对应的控件就必须绑定一个VO,且的URL标记中仅仅能使用这个VO中的属性值,

不能使用EL语言,那么R12.2对EL的扩展支持在这里也不能使用,不能获取session, transaction等等中的值。

也不能同一时候取多个VO中的属性值。

注意:尽管对应的控件就必须绑定一个VO。还好的是OAF不是必须让其绑定一个VO Attribute.

版权声明:本文博客原创文章,博客,未经同意,不得转载。

转载于:https://www.cnblogs.com/gcczhongduan/p/4724047.html

EBS OAF 发展 URL商标、加密和编码相关推荐

  1. vue 项目优雅的对 url 参数加密

    实现方案:stringifyQuery 和 parseQuery 近期因为公司内部的安全检查,说我们现在的系统中参数是明文的,包括给后端请求的参数和前端页面跳转携带的参数,因为是公司内部使用的系统,在 ...

  2. 小程序 url 对象转字符串编码传参 url 字符串转对象解码接收参数

    url 对象转字符串编码传参 let info = encodeURI(JSON.stringify(this.data.info));wx.navigateTo({url: '/pages/part ...

  3. URL安全的Base64编码

    Base64编码可用于在HTTP环境下传递较长的标识信息.在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式.此时,采用Base64编码不仅比较简短,同时也具有不可 ...

  4. MD5工具类 加盐加密 及编码

    titls: MD5工具类加密 date: 2018/11/12 10:03:42 categories: 开发module import java.security.MessageDigest; i ...

  5. asp.net中URL参数加密解密过程

    asp.net中URL参数加密解密过程 加密代码 public static string Encode(string str, string key){DESCryptoServiceProvide ...

  6. des加密+base64编码,base64解码+des解密

    des加密+base64编码,base64解码+des解密 des简单介绍 base64简单介绍 运行效果图 TestActivity.java DataEncryptionUtil.java des ...

  7. 淘宝url中的spm编码是怎么生成的呢?

    淘宝url中的spm编码是怎么生成的?生成使用了什么技术?是怎么回事呢 越详细越好. 下面是SPM淘宝说明: SPM是淘宝社区电商业务(xTao)为外部合作伙伴(外站)提供的一套跟踪引导成交效果数据的 ...

  8. Python使汉字转换成url可识别的编码

    将汉字转换成url可识别的编码,在爬虫时可根据输入的汉字,转换成url可识别的链接,如'新能源'转换后是'%E6%96%B0%E8%83%BD%E6%BA%90':'爬虫工程师'转换后为%E7%88% ...

  9. EBS OAF开发中属性集(Attribute Set)的介绍和手工实现

    EBS OAF开发中属性集(Attribute Set)的介绍和手工实现 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 在OAF开发中就和F ...

最新文章

  1. 文字输入限制_输入框设计,设计样式及设计要点
  2. 【Android 逆向】修改 Android 系统文件 ( Android 逆向中需要经常修改的文件和目录 | 在 root 后的设备中获取 / 目录的 rw 权限后注意事项 )
  3. 五分钟轻松搞定产品需求文档!这可能史上最全PRD文档模板…
  4. Hibernate commit() 和flush() 的区别
  5. nginx: [warn] the “ssl“ directive is deprecated, use the “listen ... ssl“ directive instead in
  6. 【拔刀吧少年】之awk文本和数据处理编程语言
  7. SQL Server 日志清理、数据文件收缩
  8. 服务器mysql如何添加数据库文件,如何在使用MySQL作为嵌入式服务器时创建数据库文件...
  9. spring boot中打包插件spring-boot-maven-plugin和maven-jar-plugin的关联
  10. dj鲜生-01-新建项目-配置数据库
  11. python编码思维导图_Python入门之ATM+购物车代码版思维导图
  12. 声卡loopback有什么用_声卡购买须知,别买来又退整麻烦事的
  13. 胶囊碰撞体(CapsuleCollider)
  14. 【Codeforces Round #185 (Div. 2) C】The Closest Pair
  15. vgextend 扩容卷组,即把物理卷加入卷组
  16. Postgresql源码(33)Btree索引读——整体流程_bt_first
  17. 1293A-ConneR and the A.R.C. Markland-N(ArrayList、二分查找)
  18. 揭秘美国“大数据”的老巢
  19. 简要了解ios机型,推出年份,型号,容量,显示屏大小以及iOS系统
  20. 今日早报 每天一分钟知晓天下事 3-13

热门文章

  1. 苹果笔记本python开发第一个程序_第一个Python程序【文章来自老男孩】
  2. 【2023年Mathorcup杯数学建模竞赛C题】电商物流网络包裹应急调运与结构优化--完整作品分享
  3. AI把视频里的你抹掉了!效果丝滑,毫无痕迹,还能完美去水印 | ECCV
  4. 1024•假如程序员心想事成
  5. Python网络编程基础之ip地址,端口号,TCP,socket
  6. 查全率,查准率,准确率区别?
  7. Spring Security到底是什么
  8. linux清理网卡流量,Linux实时显示网卡流量的工具nload
  9. 欢迎来辩到底要不要用黄金分割?
  10. sklearn实现一元线性回归