在进行开发之前先简单介绍一下WDA的控制器:
WDA控制器包括组件控制器、定制控制器、视图控制器和窗口控制器。
• 组件控制器
每个 Web Dynpro 组件只有一个组件控制器。该控制器是全局控制 器,对所有其它控制器可见。组件控制器可以控制整个组件的功 能。这种控制器没有可视界面。
• 定制控制器
定制控制器是可选的。这些控制器必须在设计时进行定义,并且可用 于封装组件控制器的子函数。可在一个组件中定义多个定制控制器。 定制控制器由 Web Dynpro 框架自动实例化,并且未定义实例化的 顺序,因此定制控制器中的编码应该与是否存在其它定制控制器无关。
• 配置控制器
这是一种特殊的定制控制器。仅当相应组件实施特殊配置和个性化 功能时,才必须使用这种控制器。任何一个组件中可能只存在一个 配置控制器。任何组件都可以访问配置控制器,但是配置控制器无 法访 问任何其它控制器。
• 视图控制器
每个视图都包括布局部分和唯一一个视图控制器。这种控制器可以处 理视图特定的流程逻辑,例如检查用户输入和处理用户活动。
• 窗口控制器
每个窗口只有一个窗口控制器。这种控制器可用于处理其作为子控 制器重用时,通过入站插入传输的数据。这种控制器的方法可从窗 口的入站插入方法进行调用
现在开发一个简单的应用实现页面跳转与参数传递:在A页面上输入一个值,然后输出到B页面上。
首先在组建控制器的上下文页签中建立一个NODE ELEMENT,这个NODE下面有两个ATTRIBUTE G_DEPART和G_NAME
为了理解组建控制器如何与视图控制器进行BINDING,我们在每个视图的CONTEXT中也建立一个同样的NODE ELEMENT
在视图控制器中,我们可以在右侧看到组件控制器中的上下文节点,通过拖拽组件控制器的上下文节点
与视图控制器中的节点做BINDING,当视图控制器的上下文节点底部出现了向右的箭头,表示绑定成功。
接下来我们需要在视图里设计一些页面元素。
在MAIN VIEW里我们加入了两个LABEL 和INPUTFIELD以及一个BUTTON
在OUTPUTVIEW中我们放入了一个LABEL和一个属性为READONLY的INPUTFIELD
现在需要做一下跳转的功能
在每个VIEW的INBOUND PLUGS和OUTBOUND PLUGS定义PLUG对象
然后在窗口控制器中,我们需要将OUPUTVIEW拖入到窗口视图中(默认MAINVIEW是已经绑定好的)
MAIN VIEW的OUTBONUD PLUGS里创建一个导航,指向OUTPUT VIEW的INBOND PLUGS,这样完成了页面的导航。
在MAIN VIEW的ACTION 事件中直接加入导航事件,即可完成页面的自动跳转,当然我也可以在ACTION里写代码完成跳转,实际上做个配置的时候
系统会自动生成一个跳转的代码行。
到这里一个简单的页面传值的跳转功能完成了。