SAP Web Dynpro提供了使开发人员无需编写UI代码,只关注业务逻辑的一种编程模型。如何向后端应用系统传递UI控件上的输入数据?如何将业务逻辑执行后的结果通过UI前端控件进行展示?如何实现视图间、视图和控制器间的数据共享?
为了解决以上实际开发过程中遇到的问题,引入了Context(上下文)的概念和实体。
视图控制器可以参考组件控制器或其他Web Dynpro 控制器的Context(上下文)定义变量,这被称为上下文映射。
界面上的UI控件元素属性的值可以绑定到视图控制器的上下文变量,这被称为数据绑定。通过数据绑定,实现UI元素和上下文变量直接数据传输。
Web Dynpro控制器之间传递和共享数据的主要机制就是通过上下文映射。
内部映射:同一组件内的两个控制器通过映射关系共享数据。
充当数据源的上下文节点叫做映射源节点,被映射的上下文称为目标节点。
外部映射:不同Web Dynpro组件中的控制器上下文之间的映射。
要建立映射关系必须保证如下内容:
- 充当映射源的控制器,其上下文中必须有节点。
- 映射源控制器不能是视图控制器。
- 映射目标节点的控制器,包含MAPPING PATH信息,标识源控制器CONTEXT路径
UI控件的属性只能通过自身所在VIEW 控制器的CONTEXT(上下文)节点变量进行数据传输。改变UI控件的展现,只能通过改变CONTEXT(上下文)的节点变量的值来实现。
这个过程Web Dynpro执行了如下操作:
- 在屏幕渲染期间,数据从上下文-CONTEXT节点 传输给 UI 元素。
- 用户输入数据后,框架根据UI控件输入内容,填充上下文CONTEXT节点变量值,并对其类型一致性进行检查。如果发生错误,则显示提示消息。