EBS OAF 发展 URL商标、加密和编码
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.
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGF2b3I=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
版权声明:本文博客原创文章,博客,未经同意,不得转载。
EBS OAF 发展 URL商标、加密和编码的更多相关文章
- EBS OAF开发中实现參数式弹出窗体
EBS OAF开发中实现參数式弹出窗体 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 概览 參数式弹出窗体和嵌入式弹出窗体不一样,它拥有独立 ...
- PHP加密与编码技术
md5加密: string md5( string $str [,bool $raw output=false]) md5加密方法用的挺多,有两个参数,第一个参数是要加密的字符串,第二个参数默认为f ...
- EBS OAF开发中怎样实现功能页签(Global Tab)
EBS OAF开发中怎样实现功能页签(Global Tab) (版权声明.本人原创或者翻译的文章如需转载.如转载用于个人学习,请注明出处.否则请与本人联系,违者必究) 功能页签的实现不须要不论什么编码 ...
- URL的加密解密方法
package day11.about_url_encoder; import java.io.UnsupportedEncodingException; import java.net.URLDec ...
- URL安全的Base64编码
Base64编码可用于在HTTP环境下传递较长的标识信息.在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式.此时,采用Base64编码不仅比较简短,同时也具有不可 ...
- EBS OAF开发中的Java 实体对象(Entity Object)验证功能补充
EBS OAF开发中的Java 实体对象(Entity Object)验证功能补充 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) EO理论上 ...
- EBS OAF中如何在多行表中实现附件功能
EBS OAF中如何在多行表中实现附件功能 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 在OAF中使用附件功能之前,要先明白Entity( ...
- EBS OAF 开发中的OAMessageRadioGroup控件
EBS OAF 开发中的OAMessageRadioGroup控件 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 简单介绍 RadioGro ...
- iOS - 网址、链接、网页地址、下载链接等正则表达式匹配(解决url包含中文不能编码的问题)
DNS规定,域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符,也不区分大小写字母.标号中除连字符(-)外不能使用其他的标点符号.级别最低的域名写在最左边,而级别最高的域名写在最右边.由多 ...
随机推荐
- 【b702】字符串的展开
Time Limit: 1 second Memory Limit: 50 MB [问题描述] 在初赛普及组的"阅读程序写结果"的问题中,我们曾给出一个字符串展开的例子:如果在输入 ...
- 教你写Http框架(二)——三个样例带你深入理解AsyncTask
这个标题大家不要奇怪,扯Http框架怎么扯到AsyncTask去了,有两个原因:首先是Http框架除了核心http理论外.其技术实现核心也是线程池 + 模板 + handler,而AsyncTask又 ...
- CTR深度学习
深度学习在 CTR 中应用 一. Wide&&Deep 模型 首先给出Wide && Deep [1] 网络结构: 本质上是线性模型(左边部分, Wide model) ...
- layer iframe 之间传值和关闭iframe弹窗
1.访问父页面元素值 var parentId=parent.$("#id").val();//访问父页面元素值 2.访问父页面方法 var parentMethodValue=p ...
- Json入门 分类: C_OHTERS 2014-04-23 16:20 601人阅读 评论(0) 收藏
参考<疯狂android讲义>>730页 JSON的基础请参考W3SCHOOL的教程: http://www.w3school.com.cn/json/index.asp 例子: h ...
- 在Excel中粘贴时怎样跳过隐藏行
http://www.excel123.cn/Article/exceljichu/201203/932.html 有时在筛选后需要将其他区域中的连续行数据复制粘贴到筛选区域,以替换筛选后的数据.由于 ...
- Nginx的一些介绍
Apacheserver:http://httpd.apache.org,世界上用的最多的server,开放源码.支持跨平台,可移植性,模块支持丰富,虽速度和性能及内存消耗不及其它轻量级Webserv ...
- svn: E200033: database is locked解决办法
svn执行update,却被告知database is locked! 执行 svn update,却抛出个错误警报: svn: E200033: database is locked, execut ...
- HDU 5387 Clock(分数类+模拟)
题意: 给你一个格式为hh:mm:ss的时间,问:该时间时针与分针.时针与秒针.分针与秒针之间夹角的度数是多少. 若夹角度数不是整数,则输出最简分数形式A/B,即A与B互质. 解析: 先计算出总的秒数 ...
- 【t075】郁闷的记者
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 你是一个体育报社的记者,你接受到一个艰难的任务:有N支足球队参加足球比赛,现在给你一些比赛的结果,需要 ...