【问题标题】:Call parent component method in Web Dynpro Java在 Web Dynpro Java 中调用父组件方法
【发布时间】:2016-08-05 22:02:05
【问题描述】:

我正在使用两个 Web Dynpro Java 组件 (SAP Netweaver Developer Studio 7.0),其中第一个组件嵌入另一个组件并在弹出窗口中使用它。

嵌入组件有一个按钮点击触发的方法,这个方法执行后我需要调用嵌入组件的方法。

是否应该使用 Web Dynpro 组件接口调用嵌入组件方法?

【问题讨论】:

  • 欢迎来到 Stack Overflow!我尽可能地编辑了你的问题。但是,添加代码和描述,以便更多具有该主题知识的人看到它。请在您遇到的特定错误消息中进行编辑,以防有必要识别特定问题。祝你好运!

标签: java model-view-controller controller sap webdynpro


【解决方案1】:

没错!您应该执行的步骤是:

  1. 在您的 Comp1(嵌入)组件的接口控制器中创建包装器方法(具有相同的签名),并在那里调用必要的组件控制器方法

    wdThis.wdGetComp1Controller.doSmth()
    
  2. 将 Comp1 添加到 Comp2(嵌入式)组件的已使用部分。

  3. 在“属性”选项卡中将接口控制器的使用声明添加到 Comp2 组件控制器。
  4. 现在您可以像这样访问嵌入组件 (Comp1) 的方法

    wdThis.wdGetComp1Interface().doSmth();
    

【讨论】:

    【解决方案2】:

    问题是这样解决的:

    嵌入式组件有一个按钮将触发接口控制器事件。

    1. 在我们用作嵌入式组件的组件上,我们将创建一个接口控制器事件,该事件将被父组件方法捕获。
    2. 将嵌入式组件添加到“DC 元数据 > DC 定义 > 使用的 DC”部分的父组件中。
    3. 然后将其添加到“Used Web Dynpro Components”中
    4. 在父组件中,打开 Web Dynpro 组件的图表视图并添加从 ComponentController 到 Used Web Dynpro 组件的关系。
    5. 在父 ComponentController 中,在方法部分添加一个事件处理程序,选择 Web Dynpro 组件作为事件源以及父组件将在新方法中捕获的事件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-22
      • 1970-01-01
      • 2017-09-05
      • 2021-02-25
      • 2018-07-20
      • 2017-02-27
      • 2017-11-24
      • 1970-01-01
      相关资源
      最近更新 更多