• 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。

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

  • 相关阅读:
    Python-异常处理机制
    递归函数——斐波那契数列j
    函数及相关操作
    字符串及相关操作
    集合及相关操作
    元组
    字典
    列表元素增删改排操作
    multiprocessing模块简单应用
    02 for循环创建进程
  • 原文地址:https://www.cnblogs.com/guohu/p/4831225.html
Copyright © 2020-2023  润新知