ITPub博客

首页 > Linux操作系统 > Linux操作系统 > OAF之processrquest 和processFormRequest小结

OAF之processrquest 和processFormRequest小结

原创 Linux操作系统 作者:kawontony 时间:2013-02-22 09:41:51 0 删除 编辑
初学OAF的学者们,在写控制器的时候会有一个疑问,那就是processrquest和processFormRequest的触发时刻。
预备知识:1、了解EO(Entity Object)、VO(View Object)、AM(Application Moduel)、CO(Controller)、AO、ViewLink的概念
2、一个page的构成.
3、了解HTML GET()和POST()请求
正文:
处理GET请求
当浏览器发送一个HTMLget请求时,OA Framework使用定义的UI去构建页面web Bean的层次结构。
1、页面的顶层的pagelayout Bean调用processRequest()请求。整个Web bean层次结果按如下的递推初始所有web Bean(包括任意与它关联的组件)
1)任意一个web Bean初始化它自身的控制器。(如果有控制器,则调用控制器上的 processRequest(OAPageContext pageContext, OAWebBean webBean)方法)。我们可以使用该方法来构造/修改页面布局,设置web bean的属性和做数据初始化。
2)一些复杂的Web bean(像oracle.apps.fnd.framework.webui.beans.table.OATableBean 和oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean)是在执行prepareForRendering()方法之后调用processRequest()。
3)每个web bean在子web Bean中调用
processRequest()
2、
oracle.apps.fnd.framework.webui.OAPageBean将新构成的UIX显示和发送给浏览器。
处理post请求
当浏览器发送一个POST请求
1、OAPageBean检测当前的page的web Bean层次结构是否存在内存中。如果不存在(由于资源的回收,用户单击浏览器的“后退”按钮,或者一个消息对话框回到主页的post请求),它会像上面的Get请求一样新建Web Bean 的层次结构。
2、所有在该层次结构上的OAPageBean
调用processFormData(OAPageContext pageContext, OAWebBean webBean)将表单中的数据写入模式(尤其是,如果在pagelayout上调用processFormData(),则在该层次下的所有bean都会调用processFormData())。表单中的数据写入到底层模型自动调用属性和EO级上的验证(这些是数据库方面的比如唯一索引、字段类型)。如果抛出任意验证异常,则处理停止并将错误信息发给用户。
3、如果在 processFormData()过程中没有异常抛出。在该层次下的所有OAPageBean调用processFormRequest(OAPageContext pageContext,OAWebBean webBean)。这个过程将用户的操作传给控制器。
4、如果没有的JSP页面重定向转发或发出-或例外地被投进了processFormRequest() -然后刷新页。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24627116/viewspace-754534/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-11-17

  • 博文量
    183
  • 访问量
    433677