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。

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

  • 相关阅读:
    【?】Hello。。。
    【Calc】对于‘精分’的研究
    [AFO]记五年oi生涯及CSP2019复赛游记
    CF#579div.3
    「BZOJ1827」奶牛大集会
    「BZOJ2821」作诗 && 「BZOJ2724」蒲公英
    「BZOJ4576」262144
    「Bzoj5055」膜法师
    「51nod1689」逛街
    「51nod1681」公共祖先 &&「51nod2553」双重祖先
  • 原文地址:https://www.cnblogs.com/guohu/p/4831225.html
Copyright © 2011-2022 走看看