AM使用指南之三:如何在Managed Bean中获取AM实例?
来源:互联网 发布:大学校园网络营销策划 编辑:程序博客网 时间:2024/05/22 12:03
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。
参考文献:
要调用这些方法,首先要在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。
参考文献:
1. http://oracleseeker.com/2009/12/12/adf_get_am_instance_dcbingdingcontainer_bindingcontext/
http://maping930883.blogspot.com/2012/06/adf153ammanaged-beanam.html
0 0
- AM使用指南之三:如何在Managed Bean中获取AM实例?
- AM使用指南:如何在Managed Bean中获取AM实例?
- AM使用指南之五:在AM中执行SQL语句
- AM使用指南:在AM中执行SQL语句
- AM使用指南之六:使用Shared AM提高性能
- AM使用指南之二:Nested AM与Root AM之间的Transaction关系
- 如何在BankingBean类中调用AM中的方法
- 通过代码获取AM的实例
- am
- 如何在另外一个managed-bean 中访问一个managed-bean ?
- AM使用指南之四:把AM中的方法发布为WebService
- ADF中AM实例池参数介绍
- ADF中AM实例池参数介绍
- AM使用指南之七:Configuration参数说明(1)
- AM使用指南之七:Configuration参数说明(2)
- AM使用指南之七:Configuration参数说明(3)
- AM使用指南之七:Configuration参数说明(4)
- AM pool中的AM实例的生命周期
- Mathematically Hard (欧拉定理)
- flume-ng+Kafka+Storm+HDFS 实时系统搭建
- AM使用指南之二:Nested AM与Root AM之间的Transaction关系
- 黑马程序员,黑马论坛------(分享)Java 中的异常处理机制的简单原理和应用
- 菜鸟系列之C/C++经典试题(二)
- AM使用指南之三:如何在Managed Bean中获取AM实例?
- http://poj.org/problem?id=2251
- hdu 4967 Handling the Past 线段树 2014 Multi-University Training Contest 9-1008
- AM使用指南之四:把AM中的方法发布为WebService
- AM使用指南之五:在AM中执行SQL语句
- POJ1228-Grandpa's Estate(凸包)
- quick-cocos2d-x-2.2.1-rc 中用lua编写一个CCScrollView
- cocos2dx 3.2 解决输入框(TextField,TextFieldTTF) 中文乱码问题
- struts ognl