AM是放置服务方法的地方,有时我们需要在Managed Bean中调用这些方法。
要调用这些方法,首先要在Managed Bean中获取AM实例。
这里要用到《ADF工具类:ADFUtil.java 源代码》。

1. 获取默认的AM实例
如果Model项目中只有一个AM,可以这样获取:
ApplicationModule am = ADFUtils.getDCBindingContainer().getDataControl().getApplicationModule();

2. 获取指定的AM实例
如果Model项目中有多个AM,可以指定名称获取,例如:MyAppModuleDataControl
ApplicationModule am = ADFUtils.getApplicationModuleForDataControl("MyAppModuleDataControl");
MyAppModuleImpl service = (MyAppModuleImpl)am;
调用service上的方法。

3. 获取嵌套的AM实例
如果Model项目中有多个AM,且AM之间有嵌套关系,可以先获取父AM,再Get得到子AM:
ApplicationModule am =
ADFUtils.getApplicationModuleForDataControl("ParentAppModuleDataControl");
ParentAppModuleImpl parentService = (ParentAppModuleImpl)am;
NestedAppModuleImpl nestedService = (NestedAppModuleImpl)parentService .getNestedAppModule1();
调用nestedService上的方法。

4. 通过Configuration对象直接获取的AM实例
如果页面上没有绑定任何DC,也可以通过Configuration直接获取的AM实例。
import oracle.jbo.client.Configuration;
import oracle.jbo.ApplicationModule;

ApplicationModule am = Configuration.createRootApplicationModule("model.AppModule","AppModuleLocal");
AppModuleImpl amImpl = (AppModuleImpl)am;

其中"model.AppModule"指的是AM的package,"AppModuleLocal" 指的是所使用的AM Configuration。

程序员的基础教程:菜鸟程序员

AM使用指南:如何在Managed Bean中获取AM实例?的更多相关文章

  1. spring mvc DispatcherServlet详解之三---request通过ModelAndView中获取View实例的过程

    整个spring mvc的架构如下图所示: 上篇文件讲解了DispatcherServlet第二步:通过request从Controller获取ModelAndView.现在来讲解第三步:reques ...

  2. 不能直接获取?聊聊如何在Shader Graph中获取深度图

    0x00 前言 在这篇文章中,我们选择了过去几周Unity官方社区交流群以及UUG社区群中比较有代表性的几个问题,总结在这里和大家进行分享.主要涵盖了** StreamingAssets.Profil ...

  3. nginx的rewrite ,如何在flask项目中获取重写前的url

    1. 在flask配一个重写到哪的路由,假设是/rewite/,然后到nginx的配置文件写重写规则,我这里重写全部的请求,接着测试能否重写成功 1. 添加一个路由 配置重写规则 测试成功 2.接下来 ...

  4. 如何在onCreate方法中获取视图的宽度和高度

    你可以通过视图的getWidth()和getHeight()来获取视图的宽度和高度. 但是,可能会让你失望的是,如果你直接在onCreate方法内调用这两个函数,你会的到0. 为什么呢? 这是因为,当 ...

  5. 如何在 vuex action 中获取到 vue 实例

    问题:在做运营开发工具的时候 我想要请求后台服务器保存成功后 弹出一个弹框(饿了吗 的 message 弹框), 由于$message 是挂在 Vue原型链上的方法 (Vue.prototype.$m ...

  6. 如何在asp.net中获取GridView隐藏列的值?

    在阅读本文之前,我获取gridview某行某列的值一般做法是这样的:row.Cells[3].Text.ToString().有点傻瓜呵呵 在Asp.net 2.0中增加了一个新的数据绑定控件:Gri ...

  7. 微软BI 之SSRS 系列 - 如何在 MDX 查询中获取有效的 MEMBER 成员属性作为参数传递

    这篇小文章的来源是 天善问答,比如在报表中要根据点击某一个成员名称然后作为参数传递给自身报表或者下一张报表,这个在普通的 SQL 查询中没有任何问题.但是在 MDX 中查询是有区别的,比如在 MDX ...

  8. Nginx 反向代理 如何在web应用中获取用户ip

    转载:http://blog.csdn.net/bao19901210/article/details/52537279 问题背景: 在实际应用中,我们可能需要获取用户的ip地址,比如做异地登陆的判断 ...

  9. 使用Nginx后如何在web应用中获取用户ip及原理解释

    当nginx作为反向代理功能时,转发请求到后端服务器 通常需要使用如下命令为转发的请求增加请求头 X-Forwarded-For proxy_set_header X-Forwarded-For &q ...

随机推荐

  1. 转发,重定向以及区别和简单的session对象

    1.转发     作用:在多个页面交互过程中实现请求数据的共享.     过程:Web服务器内部将一个request请求的处理权交给另外一个资源,属于同一个访问请求和响应过程,所以request对象的 ...

  2. redis+php微博功能的redis数据结构设计总结(四)

    概述: 1.完全采用redis作为数据库实现微博的登录2.发布3.微博的显示4.实现整个功能使用了redis的string,list,hashes四个数据类型,以及string类型的数值自增功能 一. ...

  3. xunsearch之php索引维护(四)

    1.添加文档 $xs = new XS('njw'); $index = $xs->index; $data = array( 'pid' => 234, // 此字段为主键,必须指定 ' ...

  4. 数据结构与算法JavaScript描述——队列

    注:澄清一个bug: /** * 删除队首的元素: */ function dequeue(){ return this.dataStore.shift(); } 应该有return:   队列是一种 ...

  5. kotlin学习一:kotlin简介

    kotlin是JetBrains公司出品的基于JVM的语言,和其他JVM语言一样,目的在于提供比JAVA更加简介的语法, 同时提供函数式编程,不需要再像JAVA一样所有的一切都要依托于类. kotli ...

  6. 十四 关于interrupt, interrupted, isInterrupted

    1 判断线程是否是停止状态? interrupt() : interrupt方法用于中断线程.调用该方法的线程的状态为将被置为"中断"状态. 注意:线程中断仅仅是置线程的中断状态位 ...

  7. kafka常用命令(cdh5.10.0+kafka)

    参考资料:http://kafka.apache.org/quickstart 进入kafka安装目录(CDH安装路径为:/opt/cloudera/parcels/KAFKA):进入bin目录: c ...

  8. nginx的408错误

    client_header_timeout:Http核心模块指令,指令指定读取客户端请求头标题的超时时间.这里的超时是指一个请求头没有进入读取步骤,如果连接超过这个时间而客户端没有任何响应,Nginx ...

  9. Julia - 匿名函数

    Julia 中的函数可以被匿名构造,成为匿名函数,匿名函数是没有函数名的函数 julia> x -> x + 1 #3 (generic function with 1 method) 这 ...

  10. find命令中的print0和xargs -0

    看到命令find . -name checkout-cache -f -- 不明白其中-print0和 xargs -0的用法.查了一下,转载一篇备忘. xargs命令的作用是将参数列表转换成小块分段 ...