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。

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

  • 相关阅读:
    通过一个程序来理解PHP里面的抽象类【1】
    mycheckpoint 把玩手记
    Mysql 大量 unauthenticated user
    零基础学习Oracle 10G视频教程
    mysql show processlist命令 详解
    c# 中的事件
    c# 中方法签名 指的是?
    c# 中的索引
    介绍如何使用C#中的委托
    C# 语法学习笔记
  • 原文地址:https://www.cnblogs.com/guohu/p/4831225.html
Copyright © 2011-2022 走看看