2015-04-03 Created By BaoXinjian


OAPageContext provides access to objects like AM class, page parameters, session values, navigation methods.

OAWebBean is generally used to get a handle of page items.

执行processRequest() 方法会传递参数

OAPageContext

OAWebBean


1. 使用 oaPageContext.getParameter() 和 oaPageContext.putParameter() 来设置获取和设置字段( field) 的值.

2. 重新导向页面到当前页面或者其他页面. 比如, oaPageContext.forwardImmediatelyToCurrentPage() 重新导向到当前页面, oaPageContext.sendRedirect(newPage) 导向到其他页面.

3. 获取 AM: oaPageContext.getRootApplicationModule(), 因为 AM 已经被附加到页面上了.

4. 写 debug 信息: oaPageContext.writeDiagnostics().

5. 从 FND 消息字典中获取信息: oaPageContext.getMessage().


我们知道 webBean 对象表示了页面中的结构/层次关系. 因此用这个参数, 我们可以操作这个页面结构中的所有组件.

一旦我们获得了组件的对象( field bean or button bean), 我们就可以在 runtime 的时候用 setRendered() 等等方法来改变页面的行为.

例如:

1. OAWebBean lastName = oaWebBean.findIndexedChildRecursive("personLastName");

2. 获取一个区域的对象: OAStackLayoutBean oaStackLayoutBean = (OAStackLayoutBean) oaWebBean.findIndexedChildRecursive("stackRegionName");

3. 如上面两点所示, findIndexedChildRecursive() 方法返回的对象可以被映射到对应的 bean 对象.

问题集锦:

现在有一个页面, 里面的区域是嵌套的, 每一个区域都有自己的 CO/controller. 当页面出来的时候, 每一个 CO 中的 processRequest() 方法都会被执行吗?

回答: 会的. 内部区域的 CO 会先执行, 然后执行外部区域的 CO. 这很常见, 当你在主页面中添加一个公用区域( shared region) 的时候, 每一个公用区域都可能有自己的 CO.

MDS 页面定义会被缓存吗?

回答: 会的. 因此当在数据库中 update 了MDS, 就要重启 weblogic 服务器.

但是这对用 jDeveloper 测试页面不适用, jDeveloper 会先找本地的 XML 文件/本地MDS, 只有当本地文件系统找不到, 框架才会从数据库中去找页面定义.

Thanks and Regards

OAF_OAF OAWebBean和OAPageContext的分析(概念)的更多相关文章

  1. OAF_OAF Framework常用函数汇总(概念)

    2014-12-31 Created By BaoXinjian

  2. OAF_OAF Framework学习笔记的基本概念(概念)

    2014-11-02 Created By BaoXinjian

  3. oracle表分析

    analyze table tablename compute statistics; analyze index indexname compute statistics; 对于使用CBO很有好处, ...

  4. enode框架step by step之框架要实现的目标的分析思路剖析1

    enode框架step by step之框架要实现的目标的分析思路剖析1 enode框架系列step by step文章系列索引: 分享一个基于DDD以及事件驱动架构(EDA)的应用开发框架enode ...

  5. 小项目一---Python日志分析

    日志分析 概述 分析的前提 半结构化数据 文本分析  提取数据(信息提取)  一.空格分隔 with open('xxx.log')as f: for line in f: for field in ...

  6. 数据挖掘-关联分析 Apriori算法和FP-growth 算法

    •1.关联分析概念 关联分析是从大量数据中发现项集之间有趣的关联和相关联系. ​ •定义:1.事务:每一条交易称为一个事务,如上图包含5个事务.2.项:交易的每一个物品称为一个项,例如豆奶,啤酒等. ...

  7. Steve Yegge:Google面试秘籍

    我憋了很长时间想写点关于去Google面试的秘籍.不过我总是推迟,因为写出来的东西会让你抓狂.很可能是这样.如果按统计规律来定义"你"的话,这文章很可能让你不爽. 为啥呢?因为啊- ...

  8. 不懂这些分布式架构、分布式系统的数据一致性解决方案,你如何能找到高新互联网工作呢?强势解析eBay BASE模式、去哪儿及蘑菇街分布式架构

    互联网行业是大势所趋,从招聘工资水平即可看出,那么如何提升自我技能,满足互联网行业技能要求?需要以目标为导向,进行技能提升,本文主要针对招聘中高频提及的分布式系统设计.架构(数据一致性)做了分析,祝各 ...

  9. 根据矩阵变化实现基于 HTML5 的 WebGL 3D 自动布局

    在数学中,矩阵是以行和列排列的数字,符号或表达式的矩形阵列,任何矩阵都可以通过相关字段的标量乘以元素.矩阵的主要应用是表示线性变换,即f(x)= 4 x等线性函数的推广.例如,旋转的载体在三维空间是一 ...

随机推荐

  1. [leetcode]Remove Nth Node From End of List @ Python

    原题地址:http://oj.leetcode.com/problems/remove-nth-node-from-end-of-list/ 题意: Given a linked list, remo ...

  2. Multi-label && Multi-label classification

    Multi-label classification with Keras In today’s blog post you learned how to perform multi-label cl ...

  3. Git的简单介绍

    每次看到别人写Git的文章,同学中也有用Git感觉很高大上的感觉,工作中用的是SVN,周末倒腾了一下Git,Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.Git 与 ...

  4. 顺序查找 && 折半查找

    顺序查找                                                             算法描述 顺序比较即可. 平均查找长度 (n+1)/2, 其中n为表长 ...

  5. c++ 编译时检测结构体大小的的宏定义写法

    一种写法: template <bool> struct CompileAssert { }; #define COMPILE_ASSERT(expr, msg) \ typedef Co ...

  6. cygwin64安装wget和apt-cyg

    说实话,网上的教程要么不适用,要么不能用,唯有多次试错之后才杀出一条血路. 1.安装cygwin 2.勾选wget 这个如果忘记勾选了,就再次打开setup.exe,选择如下操作,即可. 然后点击下一 ...

  7. GCD多线程使用

    - (void)showTaped { /* dispatch_get_global_queue dispatch_get_main_queue dispatch_queue_create dispa ...

  8. javascript:void(0) 真正含义

    大家常见这种代码: <a href="javascript:doTest2();void(0);">here</a> 但这儿的void(0)到底是何含义呢? ...

  9. 算法笔记_125:算法集训之编程大题集一(Java)

     目录 1 砝码称重 2 公式解析 3 购物券消费方案 4 机器人行走 5 角谷步数 6 矩形区域的交和并 7 矩阵变换加密法 8 控制台表格 9 拉丁方块填数字 10 立方和等式   1 砝码称重 ...

  10. LeetCode 37 Count and Say

    The count-and-say sequence is the sequence of integers beginning as follows: 1, 11, 21, 1211, 111221 ...