zoukankan      html  css  js  c++  java
  • AM使用指南:如何在Managed Bean中获取AM实例?

    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。

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

  • 相关阅读:
    axis2学习笔记
    一个奇怪的数组越界报错
    zk实现分布式锁
    springBoot配置双数据源
    oracle查询
    maven项目打包
    linux修改yum源为阿里云
    kafka入门
    大话设计模式读书笔记(中介者模式)
    大话设计模式读书笔记(职责链模式)
  • 原文地址:https://www.cnblogs.com/guohu/p/4831225.html
Copyright © 2011-2022 走看看